问题域/PD-458

国际化

Internationalization

集中式多语言翻译系统,支持8种语言和Crowdin协作翻译

子问题

1.翻译键管理

2.语言切换

3.翻译协作流程

4.本地化格式

5.浏览器 locale 变体到内部 locale 标识的规范化映射

6.协议层消息的本地化类型设计(Localizable 联合类型)

7.AI 角色 prompt 模板的多语言维护

各项目的解法1 solutions

Signals

横向对比

维度AIRI
翻译源格式YAML 文件,unplugin-yaml 构建时转换,支持多行字符串和注释
翻译键组织按功能域分层(base/settings/stage/docs/tamagotchi),每语言 5 模块聚合
语言切换localStorage 持久化 + languageRemap 规范化浏览器 locale 变体
协作翻译Crowdin 双向同步:每日 cron 拉取 + 手动 dispatch 推送,自动创建 PR
协议层本地化Localizable 联合类型(string | {key,fallback,params}),模块间通信消息可本地化
框架集成vue-i18n Composition API(legacy:false),各应用独立初始化共享翻译源
语言覆盖9 种语言(en/ja/ko/zh-Hans/zh-Hant/es/fr/ru/vi),monorepo 独立包统一管理

最佳实践

1.集中管理翻译文件在独立包中避免分散

2.YAML 作为翻译源格式优于 JSON,支持多行字符串和注释

3.Crowdin 双向同步用两个独立 workflow 分离拉取和推送避免冲突

4.languageRemap 映射表统一处理浏览器 BCP 47 locale 变体