分阶段将 Expo 应用从日语迁移至多语言支持

发布日期:2026-08-03 10:03:37  浏览量 :0
发布日期:2026-08-03 10:03:37  
0

本文是原始日语文章的中文译本。

我将一个仅支持日语的 Expo 应用迁移为支持日语、英语和简体中文。我没有选择一次性翻译所有内容,而是将工作分为三个阶段:基础建设、核心流程以及剩余页面。

更困难的部分并非收集译文,而是确定设备语言与手动设置之间的优先级、日期格式化处理,以及如何处理未翻译的页面。

首先明确语言设置的责任归属

我使用了 i18nextreact-i18next。对于设备语言检测,我使用了 Hermes 引擎中的 Intl 对象。

export const SUPPORTED_LANGUAGES = ["ja", "en", "zh-Hans"] as const;
export type SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number];
export type LanguagePreference = SupportedLanguage | "system";

export function detectDeviceLanguage(): SupportedLanguage {
  const locale = Intl.DateTimeFormat().resolvedOptions().locale ?? "";
  const lang = locale.toLowerCase().split(/[-_]/)[0];
  if (lang === "zh") return "zh-Hans";
  return lang === "ja" || lang === "en" ? lang : "ja";
}

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

分享到:

长按或扫码识别 分享给好友

长按或扫码识别 分享给好友
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据