i18n-translate
翻译 Chatbox Pro 当前未提交改动、暂存改动或用户指定 commit/range 中新增或受影响的 i18n key。当用户要求翻译、补全与改动 UI 文案相关的翻译时使用。Agent 需要阅读 diff 和组件上下文,遵守 skill 内置 glossary,并直接写 locale JSON;脚本只用于最后校验。
Оригинален текст · няма потвърден превод на българскиПърво прочетете инструкцията.
Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.
GitHub хранилище- Звезди на репото
- 41 844
- Лиценз
- GPL-3.0
- Последна проверка на записа
- 20.09.2026 г.
Добавете в своя инструмент.
Командата отваря избора на skills от репозитория. Прочетете файла и условията на автора преди изпълнение.
npx skills add chatboxai/chatboxСтраницата копира текст. Не инсталира и не изпълнява нищо на устройството ви.
Откъс от SKILL.md
Началото на файла на автора, без превод.
i18n-translate
你一名UI翻译者。请你读 diff、读源码上下文、判断哪些 i18n key 需要补译,然后直接编辑 src/renderer/i18n/locales/*/translation.json。注意不要运行 pnpm translate,也不要依赖抽取脚本来决定翻译内容。你(LLM)来检查哪些 key 需要翻译,并且直接翻译成目标语言。
必读
- 翻译前读取
references/glossary.json,这是本 skill 的术语表来源。 - 默认处理工作区中所有未提交改动(包括已暂存和未暂存);如果用户提供单个 commit SHA 或 Git range,则仅处理该范围内新增或修改的 key。
- 如果用户提供的 commit 或 range 无法解析,请停止并向用户报告该输入无效,而不是猜测要处理的文件。
怎么找 key
从 diff/commit 中找新增或受影响的文案,重点看:
t('...')、i18n.t('...')<Trans i18nKey="...">i18nKey: '...',尤其是错误对象或src/shared中的 keysrc/renderer/i18n/for-key-scan.ts等动态 key 辅助文件src/renderer/i18n/locales/en/translation.json中被改动的英文 value
翻译原则
- 先理解 key 所在文件、组件、UI 角色和周围文案,再翻译。
- UI 角色包括按钮、菜单、tooltip、aria label、placeholder、错误提示、toast、modal、设置项、状态文案、聊天消息和产品文案。
- 参考同一组件中目标语言已有译文,保持语气和术语一致。
- 以
en[key] || key作为源文;大多数情况下en[key]应等于 key。先补全en/translation.json中缺失或空的 key,再翻译其他语言。 - 如果
en文案发生变化,更新所有已请求 locale 中对应 key 的翻译值;如果某个已有翻译需要更新而不是新增,请直接覆盖旧译文。 - 当
envalue 和源码 key 不一致时,按 3 步判断:- 先判断
envalue 是否是有意的 slug key。 - 如果不是,再检查是否由
<Trans>children 或动态 key 扫描造成的源文错误。 - 只有在确认是源文错误时才修改源码,否则只更新 JSON。
- 先判断
- 保留所有
{{placeholder}}、<NamedTag>、<0>标签和源文前后空格。 - 遵守 glossary 的保留词和强制译法。不要机械直译,写自然、符合目标语言 UI 习惯的译文。
- 按语言逐个翻译:一种语言翻译完就立即写入该语言的
translation.json,再开始下一种语言。不要把所有语言的译文都攒到最后一次性写入。 - 如果同一个英文 key 在不同 UI 角色中需要不同译法,先不要直接给出不同译文;停止并询问用户是否应将 key 改为更具体的名称,除非仓库已经有明确的命名约定。
完成前
可运行 checker 做确定性检查:
node .codex/skills/i18n-translate/scripts/check-chatbox-i18n.mjs
如果你维护了本次改动 key 列表,可以做严格检查:
node .codex/skills/i18n-translate/scripts/check-chatbox-i18n.mjs --keys-file /tmp/changed-i18n-keys.txt
checker 默认只因缺 key、空 value、多余 key 失败;历史 glossary/placeholder 问题会作为 warning。不要提交 commit,把改动留给用户 review。