用途:检测国际化翻译常见的三类静默问题——默认语言新增但未同步的键(missing)、复制过来但值仍与默认相同的未翻译键(untranslated)、默认语言已重命名或删除却残留的孤立键(orphan),并发现绕过 i18n 层直接硬编码的新 UI 文案。
主要能力:第一步按 package.json、manage.py、Gemfile 等信号依次匹配框架并确定语言文件布局;第二步用捆绑脚本对比默认语言与其他语言文件,脚本命令为 uv run <skill-dir>/scripts/i18n_diff.py messages/en.json messages/pt-BR.json messages/de.json,支持嵌套或扁平 JSON、YAML,按 locale 输出三类结果,存在缺失或文件不可读时退出码为 1;第三步默认只扫描相对基线分支变更的文件,查找 JSX、Vue 模板、Django 模板、Rails 视图中的硬编码字符串;第四步按语言生成报告,并保留“likely fine”桶(数字、URL、纯占位符)供人工判断;第五步仅在要求时补全缺失键,值从默认语言原样复制,绝不编造翻译,随后重跑脚本验证,必要时最多进行 3 轮。
使用方式:技能会按上述步骤自动检测并运行脚本,需要 uv(安装命令 curl -LsSf https://astral.sh/uv/install.sh | sh),纯 JSON 项目也可用 python3。monorepo 中多个应用应分别运行。
限制:整份语言文件缺失只提示“locale file not found”并停止该语言的键级对比;复数键按一个逻辑键处理;react-intl 等源码内联字符串的场景没有默认语言文件可对比,主要依赖硬编码扫描;作者强调不要过滤单词或短字符串的相同值,以免掩盖真实问题;具体价格与平台支持资料未提供。