02. i18n(英语优先)
翻译说明: 本页是与 英文源规格 一一对应的机器辅助翻译。代码、协议字段和标识符保持原文;如翻译与英文源事实有歧义,以英文版本为准。
1. 政策
PI-Desktop 是一款全球产品。
- 默认区域设置:
en - 源语言: 英语
- specs/UI/source 字符串的创作语言: 英语
- 其他语言环境是英文源的翻译
2. 框架要求
UI 必须使用 i18next + React-i18next (D012)。
规则:
- 没有硬编码的面向用户的英文句子长期散落无ID
- 每个可见的字符串都有一个稳定的密钥 3.区域设置切换不得需要代码编辑
- 每个发布的语言环境都具有与英语相同的扁平化按键集
- 插值变量名称和集在每个语言环境中都匹配
- 日期和时间使用活动应用程序区域设置而不是主机默认值
- Electron 应用程序菜单自定义标签和渲染器窗口控件 消耗目录键;本机角色标签可以使用 Electron/OS 本地化
3. 目录结构
packages/i18n/src/locales/
├── en/index.ts
└── zh-CN/index.ts英文目录是翻译目录的源类型。目录平价 插值奇偶校验由自动化测试强制执行。
4. 关键约定
domain.section.item示例:
chat.composer.placeholdersettings.providers.addplugins.permissions.fs.write.workspaceerrors.tool.deniedcomposer.mode.agentcomposer.mode.planplan.approval.titleplan.approval.artifactPathplan.approval.openArtifactplan.approval.approveplan.approval.rejectplan.approval.permissionAutoWarningsettings.shell.defaultsettings.shell.unavailableerrors.COMMAND_SHELL_CHANGEDerrors.COMMAND_SHELL_INVALIDerrors.SHELL_NOT_FOUNDerrors.PLAN_ARTIFACT_WRITE_FAILEDerrors.PLAN_EXECUTION_INTERRUPTEDerrors.PLAN_REQUIRES_INTERACTIVE_SESSION
5. 非 UI 语言界面
同样是英语优先:
- docs/spec
- ADR
- 提交消息
- issue/PR 模板
- 插件示例文档
- 核心产品中的命令标题
插件稍后可能会包含本地化的显示字段,但英语字段是必需的。
6. 验收
1.应用程序默认以英文启动 2. 英文源目录存在语言环境文件 3. 切换架构支持额外的语言环境 4. 核心UI路径无中文硬依赖 5. 目录测试拒绝丢失键或不匹配的插值变量 6. 导入、项目和临时会话公开本地化的可见和 英文和简体中文的无障碍标签 7. macOS 系统菜单自定义命令和 Windows/Linux 窗口控件公开 本地化英文和简体中文标签 8. 启动启动画面和渲染器崩溃 chrome 使用目录键(app.starting、 app.shellName、app.tagline、app.uiCrashed);空屋英雄称号是 在每个已发布的语言环境中进行翻译 9. 用户可见的目录副本更喜欢简单的产品语言而不是内部语言 工程术语(issue/PR/Windows/Linux/macOS/app.starting,其中 UI 已经说了项目)。状态、空状态、错误和设置提示说明 发生了什么以及下一步该做什么 (D149) 10. Agent/Plan/Goal 选择器、合约状态、title/artifact-opener/ 记住批准模式操作、Bash/Auto 突变警告、 shell catalog/unavailable 状态、故障关闭恢复和共享 Plan/Goal 错误代码 具有匹配的英文和中文键;无聊天操作模式键或命令 已发货