当前位置: 首页 > news >正文

3分钟用jsontt完成JSON多语言翻译:免费开源文件翻译工具实战指南

3分钟用jsontt完成JSON多语言翻译:免费开源文件翻译工具实战指南

【免费下载链接】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

做国际化的开发者大多经历过这样的时刻:产品准备上线日韩、法德等多个市场,而几十个 JSON 语言包还躺在项目里等着逐条翻译。把文本复制到网页翻译工具,再贴回文件,担心格式被破坏、占位符被改写,一整天就这么耗掉了。jsontt是一款免费开源的多语言文件翻译工具,专门解决 JSON 与 YAML 语言包的批量翻译难题,自动保留结构、变量与链接,让"翻译语言文件"从苦力活变成一条命令的事。

从一次多语言上线事故说起

去年团队做一款面向东南亚的 SaaS 产品,我负责把英文语言包翻译成越南语、泰语和印尼语。文件不大,只有 200 多行,但其中嵌着大量{{user}}{email}这样的变量占位符,还有十几个接口文档链接。手动翻译时,占位符被翻译工具"拆散"了三次,链接被破坏了一次,最终上线前紧急回滚。那次事故让我下定决心:语言文件翻译,必须交给能理解结构、懂得保护特殊内容的工具。

30 秒认识 jsontt:它到底能做什么

jsontt 的核心职责可以概括为一句话:读取你的 JSON 或 YAML 语言包,自动遍历每一层结构,只翻译需要翻译的文本值,其余内容原样保留

  • 支持 JSON、YAML、YML 三种文件格式,也支持直接在代码里翻译 JSON 对象;
  • 语言覆盖 100 种以上,还能自动识别源语言;
  • 翻译引擎分两类:Google、Bing、Libre、Argos 等免费引擎开箱即用;GPT-4o、GPT-5 系列、Gemma、Mixtral、Llama 等 AI 模型需要配置 API Key 或本地服务;
  • 单个文件翻译、一条命令多语言输出、并发控制、缓存、失败降级等能力一应俱全。

整套文件解析与翻译编排逻辑在src/core/目录下,语言支持清单见docs/LANGUAGES.md,感兴趣的话可以直接读源码了解实现。

实战:翻译你的第一个语言文件

第一步:一行命令完成安装

jsontt 以 npm 包形式分发,全局安装后即可在任意目录使用 CLI:

npm install -g @parvineyvazov/json-translator

安装完成后,在终端输入jsontt --help就能看到全部参数说明。首次使用也可以直接输入jsontt,工具会以交互式问答引导你选择引擎、源语言与目标语言,对新手非常友好。

第二步:准备一份待翻译的语言包

新建一个模拟项目 i18n 目录,放入messages.json

{ "app": { "name": "CloudSync", "greeting": "Hi {{user}}, welcome back!", "notice": "Full guide at https://docs.example.com/start" }, "errors": { "timeout": "Request timed out, please retry.", "permission": "Access denied for {email}" }, "buttons": { "confirm": "Confirm order", "cancel": "Cancel" } }

这份文件里有嵌套对象、双花括号占位符{{user}}、单花括号占位符{email}和一个网址链接,正是考察翻译工具"会不会搞破坏"的典型样例。

第三步:执行翻译

执行下面的命令,把它从英文翻译成简体中文:

jsontt ./i18n/messages.json --module google --from en --to zh-CN

命令执行后,终端会显示实时的翻译进度统计。翻译完成后,结果文件会生成在与源文件相同的目录下,你可以用--name参数自定义输出文件名。

第四步:核对输出结果

打开生成的中文文件,你会看到这样的结果:

{ "app": { "name": "CloudSync", "greeting": "你好{{user}},欢迎回来!", "notice": "完整指南请访问 https://docs.example.com/start" }, "errors": { "timeout": "请求超时,请重试。", "permission": "拒绝 {email} 访问" }, "buttons": { "confirm": "确认订单", "cancel": "取消" } }

注意到没有:{{user}}{email}和网址链接都完整保留,只有真正的人类语言文本被翻译。这正是 jsontt 与传统翻译工具最大的区别。

翻译质量从何而来

变量占位符与 URL:原样保留的机制

jsontt 在发起翻译请求前,会先对文本做一次"脱敏"处理:把{{name}}{name}这类占位符和 URL 链接替换成临时标记,翻译完成后再把标记还原回去。这样即使翻译引擎重排了句子结构,占位符和链接也绝不会被误译或破坏。你无需做任何额外配置,这一层保护是自动生效的。

免费引擎与 AI 模型:按场景灵活切换

引擎选择直接影响翻译质量与成本,我的建议是:

  • 常规界面文案:Google 或 Bing 免费引擎足够,速度快、零成本;
  • 偏技术、术语密集的文档:GPT-4o 等 AI 模型对上下文理解更强,术语翻译更准确;
  • 对数据隐私敏感、有本地部署条件:可以用 llama-cpp 接本地模型,数据不出服务器。

切换引擎只需改一个参数,例如使用 Bing 引擎-m bing,使用 GPT-4o 则配置OPENAI_API_KEY环境变量后指定-m gpt-4o。所有引擎的可用语言清单都在docs/LANGUAGES.md中,翻译前可以先确认目标语言是否被支持。

术语一致性可以这样做

AI 引擎每次翻译是独立的,同一术语在不同句子中可能被译成不同说法。实操中,建议先让免费引擎跑一遍整体翻译,再针对核心术语用 AI 引擎单独校准,或者对少量高频术语做人工复核,双管齐下质量最有保障。

把 jsontt 用成工作流:几个高价值参数

一条命令同时输出多个语言版本

jsontt ./i18n/messages.json -m google -f en -t zh-CN ja fr -n common

这一条命令会一次性生成简体中文、日语、法语三份语言文件,并统一以common作为文件前缀命名,前端 i18n 目录瞬间填充完毕。

开启缓存,重复翻译不再花钱花时间

jsontt ./i18n/messages.json -m google -f en -t ja -c yes

开启缓存后,工具会把本次翻译结果写入本地缓存文件,下次再翻译相同内容时会直接命中缓存,跳过网络请求,既省时又能减少对翻译服务的调用频率。

并发与降级:在速度与稳定性之间取平衡

默认并发数为 3。文件很大时可以提高并发加速:

jsontt ./i18n/large.json -m google -f en -t zh-CN -cl 6

需要注意,并发越高越容易被在线翻译服务限流。如果某个引擎请求失败,可以加上-fb yes开启降级,自动切换到其他可用引擎重试,避免整个任务中断。

批量翻译整个目录的最快方法

CLI 本身按单文件处理,配合 Shell 循环即可实现目录级批量翻译:

for file in ./locales/en/*.json; do jsontt "$file" -m google -f en -t ja ko done

跑完后每个源文件旁都会生成对应的日文、韩文版本,目录批量翻译的问题就此解决。

与其他方式相比,jsontt 赢在哪

对比维度手动复制粘贴在线网页翻译jsontt
处理深层嵌套对象极易错漏需逐层复制自动递归遍历
变量占位符保护需手工还原常被改写自动锁定
URL 链接保护需手工核对可能损坏自动保留
一次生成多语言不支持不支持一条命令
免费引擎选择单一多种可选
失败降级与缓存内置

对语言文件翻译这类高频、结构化、格式敏感的任务来说,jsontt 不是"方便一点",而是彻底换了一种工作方式。

常见问题与排查清单

  • 翻译结果出现--:说明该条目翻译失败且未开启降级,加上-fb yes重试即可;
  • 提示语言代码不可用:不同引擎支持的语言集合不同,先到docs/LANGUAGES.md核对对应引擎的语言码;
  • 翻译速度慢:先确认是否未启用缓存,再考虑适当提高并发数-cl
  • 被翻译服务限流:降低并发数,或切换到其他免费引擎分散请求;
  • 结果文件位置:默认生成在源文件同目录,想自定义用--name

下一步,动手跑起来

如果你也被多语言语言包折磨过,现在就可以开始体验。克隆项目到本地查看源码,或直接全局安装后翻译你的第一个语言文件:

git clone https://gitcode.com/gh_mirrors/js/json-translator npm install -g @parvineyvazov/json-translator jsontt ./你的语言包.json -m google -f en -t zh-CN

从五分钟的安装到一条命令生成全语言版本,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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4043840.html

相关文章:

  • 从零上手 League-Toolkit:把游戏客户端的琐碎操作交给自动化
  • JVFloat.js源码深度剖析:JavaScript浮动提示框的实现原理
  • 告别一行行调试代码:Sokit 网络调试工具让 TCP/UDP 数据收发与端口转发一步到位
  • PDF补丁丁:免费开源的书签编辑与PDF批量处理完整教程
  • Git凭证存储机制详解:从原理到实践的安全认证管理
  • Logseq高阶实战:双链、模板与查询构建个人知识管理第二大脑
  • 洛雪音乐音源使用完全指南:免费畅听全网无损音乐的终极方案
  • 零基础把《塞尔达传说:众神的三角力量》用C语言重新编译运行:我的三天折腾笔记
  • 别再到处找下载方法了:res-downloader嗅探神器3步搞定全网资源下载
  • 抖音下载工具douyin-downloader:批量抓取、直播回放与增量去重的一站式方案
  • Elasticsearch与Natlas集成实战:构建高性能扫描数据存储方案
  • 零基础也能玩转的无代码平台:Baserow 数据库、自动化与 AI 应用全攻略
  • 2023最新pidgin-lwqq插件安装教程:从源码编译到功能验证
  • 网盘直链下载助手完整攻略:8大网盘真实下载链接一键获取
  • 微信防撤回补丁RevokeMsgPatcher:Windows消息保护终极指南
  • 学不会机器学习?这个免费浏览器工具让你零代码亲手训练AI模型
  • 老款 Mac 想升级最新 macOS?用 OpenCore Legacy Patcher 免费跑通的全程避坑路线图
  • 微信聊天记录导出终极方案:用WeChatMsg永久保存你的每一句对话
  • 如何用react-native-testing测试登录表单?完整提交流程实战
  • 一台电脑、一个窗口、所有游戏:Playnite游戏库管理工具使用手记
  • douyin-downloader 完整上手教程:开源免费,把抖音视频与直播回放批量存进本地硬盘
  • OpCore-Simplify 快速上手指南:一条命令把黑苹果 OpenCore EFI 配置从数小时压缩到几分钟
  • 图片上传与存储实战:AWS S3在instagram-mern项目中的应用指南
  • IP-Adapter 快速上手指南:22M 参数的图像提示适配器如何驱动扩散模型
  • 免费开源的ERPNext实战记:小公司的账、货、订单,真的能被它管成一条线
  • RAT-retrieval-augmented-thinking进阶技巧:如何优化推理过程提升回答质量
  • 微信防撤回终极指南:3分钟用RevokeMsgPatcher告别消息被撤回
  • Win11Debloat 免费优化指南:一个脚本如何扫清 Windows 11 的卡顿、广告与隐私隐患?
  • boolinq:革命性C++11单文件LINQ库,让STL容器操作效率提升10倍
  • OWASP Top 10核心漏洞解析:从原理到实战的Web安全防御指南