用途:管理 apps/frontend/src/i18n/languages/ 下的翻译文件,服务于 react-i18next。
主要能力:维护 15 种语言(en 为源语言,另有 de、es、fr、hi、it、ja、ko、nl、pt、sv、tr、tw、vi、zh);文件为扁平 JSON 键值对,键为英文短语,插值使用 {{variableName}};语言列表定义在 apps/frontend/src/i18n/index.tsx。
新增键:先写入 en.json,再为其余所有语言文件补上对应译文,随后对全部文件按键不区分大小写排序。删除键:从全部 15 个文件移除,并保持排序。排序要求所有语言文件均按键不区分大小写升序,修改后需校验;可用 Node.js 脚本或 jq 处理,写回时使用 2 空格缩进和结尾换行。
同步检查:确认 en.json 覆盖代码中 t("...") 用到的键;非英文文件与 en.json 键完全一致,缺失的补译文,多余的删除;所有文件保持排序。
固定词:见 apps/frontend/src/i18n/fixedWords.json,按语言代码分组("all" 适用于所有语言),分两类——未翻译词(值等于英文词)与固定译法(必须使用指定译文)。翻译前必须先查该文件并保持一致。
VeChain Kit 双向语言同步:应用内订阅 i18n.on("languageChanged", ...) 并调用 setLanguage(lng);向 VeChainKitProvider 传入 language={i18n.language} 与 onLanguageChange={(lng) => i18n.changeLanguage(lng)}。
提交前与 ESLint:可运行脚本检测 en.json 中未被使用的键并使 pre-commit 失败;比较各语言与 en.json 的键差异,缺失或多余即失败;可选接入 eslint-plugin-i18next。
限制:资料未提供具体安装命令、版本要求与完整实现细节,相关实现模式需参考 vechain-kit 技能的 translations-vechain-kit.md。