首页
看点啥
插画图片
首页 经济看点 Mac版Codex_国际化(i18n)支持:多语言JSON文件批量提取翻译指南【技巧】

Mac版Codex_国际化(i18n)支持:多语言JSON文件批量提取翻译指南【技巧】

2026-06-22 0

Mac版Codex需借助json-autotranslate CLI与i18n-ally插件实现多语言JSON自动提取与翻译:先确认locales/下含规范源文件zh-CN.json,再通过jsontt scan识别缺失键、jsontt translate-dir批量补全(须加--preserve-structure),最后用i18n-ally在VSCode中实时校验与微调。

Mac版Codex本身不内置i18n功能,但可通过命令行工具链与VSCode插件协同,实现多语言JSON文件的自动提取与翻译——你不需要手动打开每个JSON文件复制粘贴,也不用在网页端反复切换语言选项。

确认项目结构并准备源语言文件

进入你的Mac终端,cd到项目根目录,确保存在locales/文件夹,且其中至少有一个带完整中文文案的JSON文件(如zh-CN.json)。该文件将作为所有翻译的基准源,【键名必须全小写、下划线或中划线分隔,不能含空格或中文标点】

检查文件格式是否为纯键值对:{ "login_button": "登录", "welcome_title": "欢迎使用" }。若存在嵌套对象、数组或注释,json-autotranslate会跳过整条键,导致漏译。

安装并配置json-autotranslate CLI

执行以下命令全局安装工具:

npm install -g json-autotranslate

安装完成后,运行jsontt --help验证是否可用。若提示“command not found”,请重启终端或运行source ~/.zshrc刷新环境变量。

这一步操作起来很简单,直接把命令粘贴进终端回车就行。不需要修改任何配置文件,所有参数都支持命令行即时传入。

批量提取未翻译键并生成目标语言文件

第一步:扫描所有语言文件,识别缺失翻译的键

jsontt scan -s locales/zh-CN.json -d locales/

该命令会读取locales/下所有JSON文件(如en-US.json、ja-JP.json),对比zh-CN.json中的键,列出所有在目标文件中缺失的key。输出结果直接显示在终端,不覆盖原文件。

第二步:一键补全全部缺失键(以Google Translate为默认引擎)

jsontt translate-dir -s locales/zh-CN.json -d locales/ -t en-US,ja-JP,ko-KR --preserve-structure

【务必加上--preserve-structure参数,否则嵌套路径会被扁平化,破坏Vue或React i18n的命名空间结构】。例如{"user": {"login": "登录"}}若不加此参数,会变成{"user.login": "Login"},导致前端调用$t('user.login')失效。

第三步:如需指定DeepL提升商务术语准确度,需先注册API密钥并导出环境变量

export DEEPL_AUTH_KEY="your-deepl-api-key"jsontt translate-dir -s locales/zh-CN.json -d locales/ -t fr-FR --engine deepl

用i18n-ally在VSCode中实时校验与微调

打开VSCode,确保已安装i18n-ally扩展(Antfu出品)。工作区根目录下存在locales/后,右键任意JSON文件 → “i18n: Sync All Locales”,自动对齐所有语言文件的键结构。

点击编辑器右侧出现的翻译面板,在搜索框输入“login”,即可横向对比中/英/日三语对应值。发现某处翻译生硬时,直接双击英文字段修改,保存后自动同步到磁盘。

注意:修改后不要手动运行CLI重译,否则会覆盖你的手工优化。如需重新触发翻译,只对特定key加--force-keys login_button参数。

喜欢(0)

上一篇

像素火影网页版秒玩入口唤境直达-2026最新像素火影unity网页版秒玩地址全览

像素火影网页版秒玩入口唤境直达-2026最新像素火影unity网页版秒玩地址全览

下一篇

尝试在_Eclipse_环境下运行_CodeGeex_的可行性方案

尝试在_Eclipse_环境下运行_CodeGeex_的可行性方案
猜你喜欢