JsonTranslate,一款专为开发者和内容创作者设计的多语言 JSON 翻译工具,支持 Google Translate、Azure 和 DeepL(X) 翻译 API,助力项目国际化和本地化。无论你是在开发多语言网站、应用程序还是处理多语言数据集,JsonTranslate 都能提供简便的解决方案,轻松将 JSON 文件中的内容翻译为多种目标语言。
全局翻译会递归遍历整个 JSON 数据结构,对所有字符串类型的值进行翻译,同时保持原始 JSON 的层级与结构不变。
适用场景:
通过 JSONPath 表达式,精准定位一个或多个节点,仅翻译这些节点中的字符串内容。支持多个路径,用英文逗号分隔。
适用场景:
在此模式下,你可以指定特定的键名进行翻译。支持两种输入方式:
适用场景:
title
、description
等注意事项:
此模式适用于扁平结构的 JSON 数据,可指定起始节点和需要翻译的字段名称。系统会从指定节点开始,查找所有对象中的目标字段并进行翻译。
配置项:
适用场景:
i18n 模式专为多语言场景设计,能在原有 JSON 结构中聚合多语言的字段内容。适合用于构建多语言网站或应用的翻译文件,或管理统一结构下的多语言配置。
zh
,源字段就是 zh
。当源语言为 auto
时,源字段则为默认的 en
。目标语言设定为 zh
、fr
,翻译结果:
本工具集成了 5 种翻译 API 和 6 种主流大语言模型(LLM)接口,用户可根据需求选择合适的翻译方式:
API 类型 | 翻译质量 | 稳定性 | 适用场景 | 免费额度 |
---|---|---|---|---|
DeepL(X) | ★★★★★ | ★★★★☆ | 适合长文本,翻译更流畅 | 每月 50 万字符 |
Google Translate | ★★★★☆ | ★★★★★ | 适合 UI 界面、常见句子 | 每月 50 万字符 |
Azure Translate | ★★★★☆ | ★★★★★ | 语言支持最广泛 | 前 12 个月 每月 200 万字符 |
GTX API(免费) | ★★★☆☆ | ★★★☆☆ | 一般文本翻译 | 有调用频率限制(例如,每 3 小时约 500 万字符) |
GTX Web(免费) | ★★★☆☆ | ★★☆☆☆ | 适合小规模翻译 | 免费 |
如果对翻译速度和质量有更高要求,可自行申请 API Key:Google Translate、Azure Translate、DeepL Translate。申请流程参考相关的接口申请教程。
除传统翻译 API 外,本工具还支持调用多种 LLM 进行智能翻译,包括:DeepSeek、OpenAI、Azure OpenAI、Siliconflow、Groq,以及可自由配置的 Custom LLM。
对于希望在本地部署大模型的用户(如 Ollama、LM Studio),可通过以下方式完成本工具的连接配置。为获得更优的翻译质量,推荐在自定义模型中使用 qwen2.5-14b-instruct
或性能更高的模型。
如果在浏览器中调用本地部署的模型时出现连接失败,可能是由于浏览器的跨域策略导致。解决方式如下:
LM Studio:
完成以上配置后,本工具即可顺利调用你的本地 LLM 模型。(特别感谢 mrfragger 分享配置经验)
本工具支持 50 多种语言之间的互译,覆盖广泛的欧洲、亚洲及部分非洲语言,适用于各类跨语言内容处理场景。支持的语言包括:英语、中文、繁体中文、葡萄牙语、意大利语、德语、俄语、西班牙语、法语、日语、韩语、阿拉伯语、土耳其语、波兰语、乌克兰语、荷兰语、希腊语、匈牙利语、瑞典语、丹麦语、芬兰语、捷克语、斯洛伐克语、保加利亚语、斯洛文尼亚语、立陶宛语、拉脱维亚语、罗马尼亚语、爱沙尼亚语、印尼语、马来语、印地语、孟加拉语、越南语、挪威语、希伯来语、泰语、菲律宾语(塔加拉语)、乌兹别克语、吉尔吉斯语、土库曼语、哈萨克语、博杰普尔语、卡纳达语、阿姆哈拉语、古吉拉特语、爪哇语、波斯语、泰米尔语、斯瓦希里语、豪萨语、泰卢固语和马拉地语等。
API 具体支持语言详见各服务的官方文档:
在使用指定键名模式时,你可以通过结果区的切换按钮,在单一键名模式和映射翻译模式之间切换。单一键名模式下,翻译的输入输出使用相同节点,而映射翻译模式则涉及不同节点的翻译。例如,节点 A 的值将翻译至节点 B,节点 C 的值翻译至节点 D。
本工具引入可选的本地翻译缓存,提高翻译效率并降低资源消耗:
源文本_目标语言_源语言_翻译 API_模型设置
作为唯一 key 进行存储。如果不想使用缓存,可取消勾选“使用翻译缓存”,或在 API 设置中点击“清除翻译缓存”。
支持将同一个文件一次性翻译为多种语言,特别适合需要国际化的视频内容:
支持一键导入与导出当前设置,便于在更换设备或切换至自有域名时快速迁移数据。
请注意:
出现这种情况,可能有以下几种原因:
你可按 F12 打开浏览器开发者工具,切换至 “网络”(Network)标签页,检查 API 响应(Response)的具体报错信息。
如果只是部分内容未能成功翻译,尝试再次点击“翻译”按钮即可。在启用了翻译缓存的情况下,系统会跳过已翻译的内容,避免重复扣费或重复请求。
因为 DeepL 的官方服务不允许直接从网页上调用,所以我们通过一个“中转通道”来帮你把请求发出去。
这个中转接口只是用来传输数据,不会收集你的任何信息,你可以放心使用。如果你对稳定性有更高要求,也可以自己搭建这个通道。
不会的!你的 API Key 和其他设置都只保存在你自己的浏览器里,我们不会上传或记录任何信息。
GTX Web 对服务器压力比较大,所以默认没有开启。
如果你是在自己电脑上使用这个工具,可以手动开启。请避免在开启全局代理的网络环境下使用该接口,可能会导致翻译异常。
JSON 数据是以键值对的形式存储的,其中“键”(也称为“名称”)是一个字符串,用于唯一标识数据记录中的特定项目或元素,是数据检索和操作的基础。JsonTranslate 正是利用了 JSON 键名的标识作用来实现精准化识别翻译。
以下是对示例中的几个键名的解释:
downvote.message
:这是一个嵌套的键名。downvote
是外层对象的键名,而 message
是 downvote
对象内部的一个键名。提示词.message
:这里 提示词
是一个键名,它本身包含一个对象,该对象有一个键 message
。share.owner
:这个键名包含了一个点(.
),它是一个单独的键名而不是指示嵌套关系。在这种情况下,如果你想访问 share.owner
对象中的 name
,你不能使用 share.owner.name
,因为这会被错误解释为查找一个名为 owner
的对象内的 name
键,而实际上 share.owner
是一个完整的键名。目前,JsonTranslate 无法处理包含点(.
)的 JSON 键名。这是因为点号在 JSONPath 中用于区分嵌套对象的键名,使得含点的键名可能被误解为多层嵌套对象。为避免这一问题,建议使用不含点的键名。