JSON 翻译实战:jsontt 让多语言文件转换从一小时变成三分钟 📅 2026/8/15 20:00:58 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周五下午四点半产品经理端着咖啡走过来下周要给 App 加日语、韩语、法语、德语四个语言版本。如果你的团队还在靠复制文件 → 逐条粘贴到网页翻译 → 贴回来 → 手工对齐结构的方式干活我建议你先看完这篇。jsontt是一个免费开源的 JSON/YAML 翻译工具能一次性把一个语言文件翻译成上百种语言自动保持嵌套结构、变量占位符和 URL 链接不变。这篇文章会带你从零跑通它的完整流程并分享几个能显著提升效率的实用技巧。多语言文件翻译的麻烦到底出在哪先不急着介绍工具说说大多数团队卡在哪儿。翻译 JSON 文件这件事看起来只是把值换成别的语言实际操作时会踩到四类坑结构被搞乱文件里常常嵌套好几层对象还有数组套对象手动粘贴最容易漏括号、错缩进。不该翻的被翻了{{username}}、{email}这类占位符一旦被翻译引擎改掉整个页面直接渲染异常。URL 被破坏文案里夹带的链接翻译后可能变得残缺。重复劳动改了一个文案五个语言文件都要跟着重新翻译一遍。jsontt 恰好把这四个问题都处理掉了而且它允许你用完全免费的方式完成这件事。jsontt 是什么免费开源的 JSON/YAML 翻译命令行工具jsontt 是一个 Node.js 编写的开源命令行工具核心能力就一句话读取 JSON 或 YAML 文件翻译其中的文案再按原结构写回磁盘。它同时提供 CLI 和 npm 包两种使用方式翻译引擎覆盖了 Google、Bing、Libre、Argos 等免费服务也支持 GPT-4o、GPT-5、Gemma、Mixtral、Llama 等 AI 模型。一个很省心的设计是翻译结果默认生成在源文件同目录下文件名按语言代码命名你不需要额外指定输出路径。整个项目采用 MIT 协议开源代码结构也值得翻一翻——CLI 入口在src/cli/cli.ts翻译逻辑集中在src/modules/functions.tsJSON 深层遍历在src/core/json_object.ts文件读写则在src/core/json_file.ts。安装 jsontt一条 npm 命令搞定前置要求是 Node.js 16 及以上版本安装只需一行命令想用 CLI 就装全局npm install -g parvineyvazov/json-translator只想在某个项目里调用它的 API用本地安装即可npm install parvineyvazov/json-translator装完在终端敲一下jsontt --help能看到所有可用的参数确认环境就绪。第一次使用一条命令翻译整个 JSON 文件假设你手上有一个英文的en.json结构长这样{ login: { title: Login {{name}}, email: Please, enter your email }, homepage: { welcoming: Welcome! } }想翻译成简体中文、日语和法语只需要一条命令jsontt en.json --module google --from en --to zh-CN ja fr命令执行过程中终端会实时显示翻译进度已翻译条数 / 总条数。跑完之后en.json同目录下会多出三个文件├── en.json ├── zh-CN.json ├── ja.json └── fr.json如果你希望自定义输出文件名加上--name参数即可比如--name myFiles会生成myFiles.zh-CN.json。注意默认参数可以省略直接运行jsontt en.json会进入交互式问答逐个询问你要用哪个引擎、源语言和目标语言。变量和链接不会被误翻的翻译引擎这是 jsontt 最让我放心的地方它内置了一套忽略机制实现位于src/core/ignorer.ts。翻译前工具会把两类内容先保护起来占位符{{name}}和{name}两种写法都会被原样保留。URL文本中的链接会被临时隐藏翻译完成后再放回原位。看一个实际效果下面这段文案翻译成西班牙语{ one: Welcome {{name}}, two: Visit https://example.com for more info }输出为{ one: Bienvenido {{name}}, two: Visite https://example.com para obtener más información }{{name}}和链接都完好无损这种细节在 i18n 项目里能帮你省掉大量排查 bug 的时间。从免费引擎到 AI 模型翻译引擎怎么选jsontt 内置了 16 种翻译模块分为免费和需要密钥两类。我整理了一张对照表类型模块说明完全免费google / google2Google 翻译覆盖 104 种语言完全免费bingMicrosoft Bing 翻译覆盖 110 种语言完全免费libreLibre Translate29 种语言完全免费argosArgos Translate17 种语言完全免费llama-cpp本地运行的 llama 模型需要密钥deepl需设置DEEPL_API_KEY环境变量需要密钥gpt-4o / gpt-4 / gpt-3.5-turbo / gpt-5 系列需设置OPENAI_API_KEY需要密钥gemma-7b / gemma2-9b / mixtral-8x7b / llama3 系列需设置GROQ_API_KEY日常翻译我用--module google就足够如果追求更好的语气和上下文一致性可以切到 AI 引擎比如jsontt en.json --module gpt-4o --from en --to zh-CN --name app完整支持的语言清单在项目的docs/LANGUAGES.md里可以查到支持 100 多种语言互译源语言也可以填auto让工具自动识别。三个值得打开的进阶开关1. 故障自动切换--fallback在线翻译偶尔会抽风超时或限流都会中断任务。开启 fallback 后某个引擎失败会自动尝试其他可用模块适合批量翻译时用jsontt en.json --module google --from en --to zh-CN ja --fallback yes2. 翻译缓存--cache重复翻译相同的句子很浪费时间和请求额度。开启缓存后工具会把已翻译的内容写入本地缓存文件cache_语言对.json下次遇到相同文案直接复用jsontt en.json --module bing --from en --to zh-CN --cache yes3. 并发控制--concurrencylimit并发数越高翻译越快但也更容易触发服务端的限流。默认值是 3网络稳定时可以适当调高jsontt en.json --module google --from en --to zh-CN ja ko fr --concurrencylimit 10另外还有一个容易被忽略的能力增量翻译。如果目标语言文件已经存在jsontt 会先读取旧文件把已翻译过的文案直接复用只翻译新增或修改的内容。这意味着日常迭代时你每次跑命令的时间会越来越短。把翻译能力写进代码npm 包调用方式不想敲命令行的话可以把它作为依赖集成到自己的脚本里。比如翻译一个深层嵌套的 JSON 对象到多种语言import * as translator from parvineyvazov/json-translator; const en_lang { login: { title: Login, email: Please, enter your email, }, profile: { edit_screen: { edit: Edit your informations, }, }, }; const [french, japanese] await translator.translateObject( en_lang, translator.languages.English, [translator.languages.French, translator.languages.Japanese] );翻译文件同样简单translateFile会直接把结果保存到源文件同目录await translator.translateFile(C:/files/en.json, translator.languages.English, [ translator.languages.German, ]);顺带一提翻译单个单词或句子可以调用translateWord适合在构建脚本里做小规模处理。谁适合用 jsontt前端开发React / Vue / Angular 项目的 i18n 多语言文件批量生成这是最典型的场景。后端与运维把系统配置、错误提示、API 返回消息做多语言本地化。移动端团队App 内文案、推送通知模板的本地化处理。独立开发者没有预算买付费翻译服务用免费引擎就能跑起来。收尾建议从一次小范围试用开始别一上来就处理最大的文件。我建议你先拿一个十几个 key 的小配置文件跑通流程确认输出结构符合预期再上生产规模的目录。翻译完成后记得抽查几条关键文案的人工质量毕竟机器翻译只能保证能看懂不能保证语气对。想动手体验的话可以克隆仓库到本地研究源码再全局安装跑一遍git clone https://gitcode.com/gh_mirrors/js/json-translator cd json-translator npm install -g parvineyvazov/json-translator然后拿着你的第一个en.json试一下jsontt en.json --module google --from en --to zh-CN ja ko三分钟后你大概率会跟我一样把复制粘贴翻译这个动作从工作流里彻底删掉。【免费下载链接】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),仅供参考