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-translatorjsonttnpm 包名parvineyvazov/json-translator是一个开源的 JSON/YAML 翻译命令行工具专门解决项目要做国际化、手头一堆语言文件这类重复劳动。它内置 Google、Bing、Libre、Argos 等免费翻译引擎也支持接入 GPT、Gemma、Mixtral、Llama 等 AI 模型。下面我们不用传统说明书的方式介绍而是跟着一位开发者小周的一天看他怎么把一整个项目翻译成 5 种语言。09:30 一条命令装好翻译工具不用申请任何 API 密钥小周的产品下周要上线日语版和德语版他原本的打算是把en.json打开复制文本粘到网页翻译再粘回来。按 200 个键值对算这大概要忙一整个下午。他先做了个决定——不用网页翻译改用命令行工具。npm install -g parvineyvazov/json-translator安装完命令名就是jsontt。注意这一步不需要注册账号不需要申请密钥因为工具默认走的是 Google 免费翻译接口。node 环境在 16 以上就能跑大多数开发机都满足。安装成功的那一刻小周顺手执行了一次jsontt --help看到一长串可用参数心里立刻踏实了。10:30 三行命令把 en.json 变成 5 种语言文件小周的翻译任务其实很典型一个基础英文语言文件要同时产出中文、日语、德语、法语、韩语五个版本。jsontt ./locales/en.json --module google --from en --to zh-CN ja de fr ko跑完这条命令locales目录里直接多出zh-CN.json、ja.json、de.json、fr.json、ko.json五个文件键结构原样保留值全部换成了对应语言。整个过程他只需要盯着终端里的进度条12 of 200 translated。这就是 jsontt 的核心价值JSON 翻译工具不应该让你关心翻译这个动作而应该让你关心翻译哪些文件、翻成哪些语言。小周是新手他担心记不住这么多参数。工具其实支持交互式问答——直接执行jsontt ./en.json它会一步一步问你用哪个引擎、从哪种语言翻译到哪种语言。命令记不全也没关系跟着提示走就行。13:00 占位符差点被翻译掉看看 jsontt 的锁午饭后小周检查翻译结果发现一个问题title: Welcome {{user}}, your order #123 is ready翻译成日语后{{user}}和#123竟然完好无损。他有点意外这正是他之前用网页翻译时最头疼的事——变量、订单号、URL 一旦被翻译器理解就会变成一团乱码。jsontt 的做法很聪明翻译之前先把这些特殊内容锁起来翻译完成再解锁放回去。打开源码src/core/ignorer.ts能看到这套机制{{name}}或{name}形式的占位符原样保留https://、www.开头的 URL先锁定再还原不会被翻译器改坏。也就是说像link: Visit https://example.com/order/123这样的字符串翻译成中文后https://example.com/order/123依然原封不动。这对做电商、做 SaaS 的国际化项目来说太重要了URL 和占位符一旦被改前端渲染就会直接报错。15:00 从免费引擎到 AI 模型一套命令两套阵容下午小周想让德语翻译的质量更高一点。他了解到 jsontt 背后不是单一引擎而是一套模块化的翻译引擎集合完全免费的引擎Google、Google 2、Bing110 种语言、Libre、Argos、llama.cpp。需要 API 密钥的引擎DeepL环境变量DEEPL_API_KEY、GPT 系列OPENAI_API_KEY、Gemma / Mixtral / Llama3GROQ_API_KEY。切换引擎只需要一个参数jsontt ./en.json --module bing --from en --to de jsontt ./en.json --module gpt-4o --from en --to de小周的判断标准很简单日常迭代用免费引擎就够了发布前的关键文案换成 GPT 或 DeepL 精翻一轮。给环境变量配好密钥命令本身一行都不用改。不同引擎支持的语言范围有差异官方文档docs/LANGUAGES.md里列出了每个引擎的完整语言清单。如果想确认某对语言是否可用命令行里也能直接查到。18:00 让批量任务提速的 3 个参数并发、缓存、回退临近下班小周要翻译一个大文件三千多个键值对。他发现了三个能显著提升效率的参数这就是今天最有价值的部分并发限制--concurrencylimit默认并发数是 3网络状况好的话可以调高到 8 或 10翻译速度几乎线性提升。但别贪心并发太高容易被翻译服务临时限流这也是作者把它叫做higher faster, but easy to get banned的原因。缓存--cache翻译结果会存在本地缓存文件里。下次翻译时相同内容的键直接命中缓存不再重复请求。小周翻译完日语版后再翻一次韩语版那些中英文共用的内容就直接从缓存里取省了一半时间。jsontt ./en.json --module google --from en --to ja ko --cache --concurrencylimit 8回退逻辑--fallback yes如果主引擎某次请求失败了自动换用其他引擎补上避免整个任务因为一两个请求失败而中断。这对长文件的稳定翻译很有用。20:00 把这些能力写进你自己的项目代码里晚上回到家小周灵机一动与其每次手动跑命令不如把翻译能力集成到构建脚本里。jsontt 除了命令行还提供了 Node.js 的包级 API能在代码里直接调用const translator require(parvineyvazov/json-translator); // 翻译单个句子 const text await translator.translateWord( Home sweet home!, translator.languages.English, translator.languages.Chinese_Simplified ); // 翻译整个深层嵌套对象 const zh await translator.translateObject( enObject, translator.languages.English, translator.languages.Chinese_Simplified );translateObject支持深层嵌套和数组结构也就是一个对象里套了三四层、中间还有列表的情况也能一次处理完。translateFile则可以直接传文件路径翻译结果自动保存成新语言文件。相关实现分别在src/core/json_object.ts和src/core/json_file.ts想自己扩展功能的开发者可以直接读这两个文件。小周最后把翻译脚本挂到了发布流程里英文文案更新后跑一次脚本五个语言的版本同步生成。第二天早上他的国际化版本准时上线整个翻译过程加起来只花了半小时。现在轮到你了。安装npm install -g parvineyvazov/json-translator把jsontt --help跑起来然后对你手头的第一个语言文件执行jsontt ./your-lang-file.json --module google --from en --to zh-CN看到终端的进度条滚动起来你的第一个多语言版本就在路上了。翻译这件事本就不该消耗你一下午。【免费下载链接】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),仅供参考