用途:用于补全和维护本项目前端国际化(i18n)多语言翻译,包括查找代码中使用但语言文件中缺失的翻译键、检测未翻译条目、以及向各语言文件补充翻译。
语言文件位于 web/default/src/i18n/locales/{en,zh,fr,ja,ru,vi}.json,格式为 translation 键下的扁平 JSON,键为英文源字符串;基础语言为 en.json,回退语言为 zh。所有 t() 调用都需在每个语言文件中存在对应键。
使用方式:在 web/default/ 目录下运行 bun run i18n:sync 查看各语言状态报告(_reports/_sync-report.json 中的 missingCount、extrasCount、untranslatedCount)。随后可创建并运行临时脚本 find-missing-keys.mjs 查找缺失键、find-untranslated.mjs 检测值仍为英文的未翻译项、add-missing-keys.mjs 写入翻译。完成后用 node scripts/add-missing-keys.mjs 应用、node scripts/find-missing-keys.mjs 验证(应显示 All t() keys found)、bun run i18n:sync 归一化文件顺序,最后删除临时脚本。
翻译规则:品牌与产品名、URL、邮箱占位符、技术标识符与代码类字符串保持英文;UI 标签、按钮文字、错误信息、描述、时间单位和动作词需翻译。键中的 {{variable}} 占位符必须在所有翻译中保留。写入语言文件时按键字母排序。
限制:所有脚本需从 web/default/ 目录运行,使用 node scripts/xxx.mjs(ESM 格式);本资料未提供具体翻译内容、脚本运行环境的版本要求或除上述六种语言外的扩展说明。