2.3 KiB
2.3 KiB
提案:应用本地化(自动检测系统语言)
变更 ID: localize-app-auto-detect
摘要
为 Antigravity Manager 应用添加多语言支持,并根据用户的操作系统语言自动设置默认语言。如果系统语言不受支持,则回退到英语。这包括更新 i18n 配置,添加中文翻译资源,并集成语言检测插件。
动机
为了提供最佳的用户体验,应用应该能够适应用户的首选语言环境。自动检测系统语言可以减少用户的配置步骤,提供更自然的初次使用体验。
建议变更
- 集成语言检测: 安装并配置
i18next-browser-languagedetector以自动检测用户语言。 - 更新 i18n 配置: 修改
src/localization/i18n.ts,启用语言检测,并设置适当的回退语言(英语)。 - 添加中文资源: 为
zh-CN创建一个新的翻译资源文件,包含所有应用字符串。 - 更新语言操作: 确保
src/actions/language.ts正确处理自动检测和手动覆盖的逻辑。 - UI 更新: 确保所有 UI 组件使用翻译键而不是硬编码字符串。
考虑的替代方案
- 强制默认中文: 已拒绝,为了适应更广泛的国际用户群体,并尊重用户的系统设置。
- 强制默认英语: 已拒绝,同上。
风险
- 检测失败: 在某些特殊环境(如 Linux 某些发行版)下,语言检测可能不准确,需要确保回退机制可靠。
验收标准
- 自动检测:
- 在系统语言设置为中文(简体)的环境下启动应用,应用界面默认显示为中文。
- 在系统语言设置为英语或其他非中文语言的环境下启动应用,应用界面默认显示为英语。
- 手动切换:
- 用户可以在设置页面将语言从中文切换到英语,界面应立即更新,无需重启。
- 用户可以在设置页面将语言从英语切换到中文,界面应立即更新,无需重启。
- 持久化:
- 用户手动更改语言后,重启应用,应用应保持用户选择的语言,而不是重新检测系统语言。
- 完整性:
- 应用的所有可见文本(包括主页、设置页、状态栏、弹窗提示)都应正确显示对应的语言,没有遗漏的硬编码字符串。