JSON文件翻译终极指南:用jsontt命令行工具一键批量搞定多语言,全程免费
JSON文件翻译终极指南用jsontt命令行工具一键批量搞定多语言全程免费【免费下载链接】json-translatorjsontt - AI JSON Translator with GPT / Gemma / Mixtral / llama other FREE translation modules to translate your json/yaml files into other languages ✅ Check Readme ✌ Supports GPT / Gemma / Mixtral / llama / DeepL / Google / Bing / Libre / Argos项目地址: https://gitcode.com/gh_mirrors/js/json-translator深夜十一点产品经理在群里丢来一句明天上线前把 i18n 补到 8 种语言那一刻做过国际化的前端工程师都会心头一凉。打开 JSON 翻译文件复制、粘贴、去在线翻译网站、再复制回来一个文件几十个 key一个 key 里的{{userName}}还经常被翻译引擎改得七零八落。今天要介绍的jsonttparvineyvazov/json-translator就是专治这种JSON 文件翻译焦虑的开源命令行工具它能在不破坏结构的前提下把 JSON/YAML 文件批量翻译成 100 多种语言关键是免费引擎随便用。先看传统做法有多疼如果你也经历过手动翻译下面这张表你大概会疯狂点头。环节手动翻译的日常jsontt 的做法复制内容逐条复制 key 的 value一条命令读整个文件翻译过程网页来回切换、容易丢格式引擎直连自动保护占位符粘贴回去引号、缩进、中文标点全乱原结构输出格式零破坏多语言扩充一个语言重复一遍全部流程-t参数一次列多个语言手动翻译最大的隐患不是慢而是坏变量被译成别的文字、URL 被截断、{name}占位符被改得对不上。等质检发现时早已不是改一个词的事而是整批返工。jsontt 能替你干哪些活一条命令英文 JSON 变八国语言jsontt 的用法简单到让人怀疑就这——把文件路径丢给它剩下的交给对话式引导或参数即可。jsontt ./locales/en.json执行后它会交互式提问选翻译引擎、源语言、目标语言、输出文件名。怕麻烦的话一行参数全搞定jsontt ./locales/en.json --module google --from en --to zh-CN ja ko fr de es这条命令的意思是用Google 免费引擎把英文的en.json同时翻译成简体中文、日语、韩语、法语、德语、西班牙语结果文件自动生成在原目录分别是zh-CN.json、ja.json、ko.json……藏在代码里的翻译 API不想用命令行jsontt 同样是个正经的 Node 包供你在业务代码里直接调用。const translator require(parvineyvazov/json-translator); // 翻译一句话英文 - 简体中文 const result await translator.translateWord( Home sweet home!, translator.languages.English, translator.languages.Chinese_Simplified ); // result: 家甜蜜的家 // 翻译整个对象支持无限深度嵌套 const zh await translator.translateObject( { login: { title: Login, failure: Failed } }, translator.languages.English, translator.languages.Chinese_Simplified );translateWord单条文本翻译适合错误提示、邮件模板。translateObject对象整体翻译深层次结构也能逐层处理。translateFile直接传文件路径翻译后落地成新文件。免费引擎与 AI 引擎怎么选这是 jsontt 最值得夸的地方默认根本不需要任何 API Key。引擎清单在源码src/modules/modules.ts里一目了然我帮你归了个类。类型引擎需要什么完全免费Google、Google2、Bing、Libre、Argos、llama.cpp什么都不用注册即用DeepLDEEPL_API_KEY环境变量OpenAI 系列gpt-4o / gpt-4o-mini / gpt-5 系列OPENAI_API_KEYGroq 系列gemma-7b / gemma2-9b / mixtral-8x7b / llama3 系列GROQ_API_KEY选型建议常规 UI 文案、配置说明用 Google/Bing 就够技术文档、术语密集的内容可以试试gpt-4o想完全本地部署就上llama.cpp。实战给一个真实项目做国际化下面跟着我用 jsontt 把一个小工具网站的配置文件从英文扩展到 5 种语言。全程大约 3 分钟。第一步最快的安装与验证要求 Node.js 16 及以上然后全局安装npm install -g parvineyvazov/json-translator验证是否装好jsontt --version看到版本号输出说明 CLI 已经就位。你也可以从仓库克隆源码本地体验git clone https://gitcode.com/gh_mirrors/js/json-translator cd json-translator yarn第二步把参数逐个拆开讲先准备一份待翻译的英文文件en.json{ app: { welcome: Welcome, {{name}}!, logout: Log out, support: Contact support: https://example.com/help, version: Version 2.1.0 } }然后执行jsontt en.json --module google --from en --to zh-CN ja --name myApp逐个参数说清楚--module google指定翻译引擎可选值见上面的引擎表。--from en源语言代码填Automatic可自动检测。--to zh-CN ja目标语言空格分隔想译几个写几个。--name myApp输出文件名前缀结果会是myApp.zh-CN.json。第三步深度嵌套与占位符保护上面文件里藏了两个翻译禁区{{name}}和https://example.com/help。换作手动翻译这俩大概率会被改得面目全非。jsontt 在src/core/ignorer.ts里实现了映射-翻译-还原三连{ app: { welcome: 欢迎{{name}}, logout: 退出登录, support: 联系支持https://example.com/help, version: Version 2.1.0 } }注意三件事{{name}}原样保留无论翻成哪种语言URL 自动跳过https://example.com/help一字未动Version 2.1.0这种数值版本号也会被安全处理不会译成版本 二点一。这套保护机制对你的{placeholder}、{{double}}两类占位符都生效不需要任何额外配置。第四步YAML 配置文件照翻不误Kubernetes 配置、CI 文案、文档站点的 YAML 同样在支持范围内。把路径换成.yml或.yaml即可jsontt ./config/messages.yaml --module bing --from en --to fr de --name ui输出文件会沿用源文件的扩展名生成ui.fr.yaml、ui.de.yaml键结构、缩进层次完全对齐。第五步大文件性能调优三板斧文件上千行时三个参数能帮你稳住节奏jsontt big.json --module google --from en --to ja --concurrencylimit 5 --fallback yes --cache yes--concurrencylimit 5并发请求数默认 3。数值越高越快但容易被翻译服务临时限流新人建议先保持默认。--fallback yes主引擎失败时自动尝试其他引擎兜底翻译大文件时开着更安心。--cache yes命中已有翻译直接跳过重复翻译时能省一大半请求。三个少走弯路的经验包⚠️ 避坑提醒并发别贪高--concurrencylimit拉到 20 不一定更快反而容易触发限流。稳妥做法是 5~8。输出文件会落在原目录翻译结果默认写在源文件同目录建议先把源文件归拢到一个文件夹再开工。超长文本会被截断单条 value 超过 5000 字符时工具会做截断保护超出部分请先人工拆分。 进阶技巧增量更新现有语言包把已翻译的语言文件放在同一目录再次执行翻译时--cache yes会读取旧翻译并跳过已译条目。这意味着以后源文件只加了几条新文案你只需跑一遍同一条命令其余内容秒过不用全量重译。 快速上手小抄场景命令最简翻译交互引导jsontt en.json指定引擎与多语言jsontt en.json -m google -f en -t zh-CN ja fr自定义输出名jsontt en.json -t de -n myApp加兜底防失败jsontt en.json -t es --fallback yes批量并发提速jsontt en.json -t ja --concurrencylimit 8翻译 YAMLjsontt config.yml -t zh-CN使用代理仅 Google 引擎jsontt en.json proxy.txt❓ 常见问题 FAQQ1翻译会不会把我原来的 en.json 覆盖掉不会。原文件只读新文件按语言码命名如zh-CN.json放在同目录两者互不干扰。Q2我断网或翻到一半失败了怎么办开启--fallback yes会自动换引擎重试配合--cache yes重跑时已完成部分直接跳过不会从头再来。Q3阿拉伯语、希伯来语这种从右往左的语言支持吗支持。Google/Bing 引擎覆盖 100 语言具体清单可查项目文档docs/LANGUAGES.md源语言也可设为Automatic自动识别。Q4代码里用来做 key 的变量名会被误翻吗不会。翻译只针对 value 的文本内容key 一概不动value 里的{{var}}、{var}占位符与 URL 也有专门保护逻辑。Q5没有图形界面、只有服务器终端能用吗这正是 CLI 的强项——服务器上装好 Node 和 jsonttSSH 进去跑一条命令即可非常适合 CI/CD 流水线里自动生成语言包。现在就让你的项目说八国语言从手动复制粘贴到一条命令全量翻译jsontt 把多语言开发的最后一公里修成了无障碍通道。别等到产品经理深夜催稿今天就动手npm install -g parvineyvazov/json-translator jsontt ./locales/en.json -m google -f en -t zh-CN ja ko看完第一条命令的输出你会回来感谢自己的。延伸阅读语言代码完整清单docs/LANGUAGES.mdCLI 交互逻辑源码src/cli/cli.ts翻译引擎注册表src/modules/modules.ts占位符与 URL 保护核心src/core/ignorer.ts【免费下载链接】json-translatorjsontt - AI JSON Translator with GPT / Gemma / Mixtral / llama other FREE translation modules to translate your json/yaml files into other languages ✅ Check Readme ✌ Supports GPT / Gemma / Mixtral / llama / DeepL / Google / Bing / Libre / Argos项目地址: https://gitcode.com/gh_mirrors/js/json-translator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考