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