用途:对翻译文件运行 i18n-validate 校验,并修复其报告的全部问题(缺失键、占位符偏移、复数错误等),循环直到校验通过。默认自动探测 locales/、messages/、i18n/、lang/ 目录;加 --no-fix 则只报告不修复。
用法:先确认工具存在,必要时安装:command -v i18n-validate || npm install -g @i18n-agent/i18n-validate。然后以机器可读方式校验:i18n-validate <path> --format json [--ref <lang>] [--strict]。退出码 0 表示干净;退出码 2 表示参数或配置错误,应修正调用而非文件。
修复顺序:仅当未加 --no-fix 时执行。先修 parse-errors,处理尾逗号、编码、畸形复数块,不得为让文件可解析而删除条目;再修 placeholders,使译文占位符与参考完全一致(如 {name}、{{count}}、%s、${var}),保留译文只改占位符;再处理 plural-structure / plural-requirements,补齐目标语言 CLDR 要求的复数形式(例如 ru 需要 one/few/many/other),逐形式翻译而非复制同一形式;再补 missing-keys,写入真实译文,若存在对应语言的 localize-XX 技能则应用其规则,禁止用英文填充或编造占位文本;extra-keys 先查 git 历史与代码库用法(grep -r),仅删除在参考中也已成孤儿的键,否则报告;empty-values / untranslated 作为警告按缺失键方式翻译。
复验:修复后重跑校验,循环直到退出码 0,最多 3 轮;仍失败则如实报告卡住的问题,不得弱化检查。
规则与限制:绝不使用 --skip 或去掉 --strict 来换取绿色结果;绝不把英文复制进译文槽以消除 missing-keys;保留文件格式与键顺序,保持最小差异;最后汇总各检查类型的修复数量、改动文件与最终校验状态。除上述内容外,技能的具体实现细节、支持语言范围与平台要求暂未提供。