逐语言翻译审查
translation-check 确保每个键都存在且占位符正确。本技能则阅读具体措辞。
1. 范围与上下文
- 哪些文本:变更新增或编辑的键(对比本地化文件与基准分支的差异),或按要求检查整个命名空间或文件。同时获取参考值和各语言的值,并进行并排对比。
- 出现位置:在代码中查找每个键的使用位置(
git grep "<key>")。它是按钮、标题、邮件、错误提示还是工具提示?有多少空间?它是与其他键组成句子,还是包含{{count}}、姓名或日期? - 项目规则:
AGENTS.md和.claude/translations.json,包括禁止使用的词语、保持不译的产品和计划名称、正式度以及读者身份(客户、经销商、管理员)。 - 现有词汇表:同一术语在该语言文件中已有的翻译方式。使用
git grep在该语言文件夹中搜索术语。一致性优于个人偏好。
2. 逐语言分别审查
针对每种语言,检查每个文本的以下方面:
- 意义:与参考译文表达相同的意思。不增不减,无假朋友。占位符在正确的语法角色中使用。
- 自然:读起来像该语言的产品文案,而非逐字翻译的英语。注意词序、冠词和大小写(德语名词大写;其他语言中不使用英语标题大写)。
- 术语:同一事物在各处使用相同的名称(报告、订单、积分、VIN、计划名称),并与步骤1中的词汇表匹配。
- 正式度:整个产品使用统一的语域,例如德语中的 Sie 或 du,乌克兰语中的 ви,法语中的 vous,捷克语中的 Vy,波兰语中的 Pan/Pani 或中性形式。不要混用。
- 带变量的语法:真实数量下的复数形式正确(乌克兰语、波兰语和捷克语中的 1、2、5、21、22、25);介词后的格;占位符为名词时的性数一致。
- 长度:按钮、标签和徽章的长度大致与参考译文相同。在空间紧张的情况下标记任何约40%更长的内容。
- 本地化约定:单位(乌克兰语/保加利亚语中的 км、кВт、к.с.)、十进制逗号、日期顺序、货币位置、引号(德语中的 „…“,法语中的 « … »,乌克兰语中的 «…»)。
- 项目规则:禁止使用的词语、品牌拼写、计划名称。
3. 报告
按语言分组报告,每条发现包含键名、当前文本、问题描述和建议译文:
uk — 2 个发现
- reportPage:upgrade.cta — "Оновити до Complete звіту" — 词序像英语;Complete 是计划名称 → "Перейти на звіт Complete"
- ...
de — 无发现
- 说明您可以自信判断哪些语言。对于无法判断的语言,请如实说明而非猜测,并建议由母语者进行核对。
- 如果需要修复:在本地化文件中应用建议,再次运行
i18n:translation-check,并将变更提交。 - 在PR审查中,将这些内容作为小问题(Nits)发布,除非意思错误或出现禁止使用的词语:此时标记为重要(Important)。