结构化文件翻译
转换这个工具会联网查询:输入会发往第三方服务,不经过本站服务器
把文件拖到这里,或点击选择 —— 也可以直接把内容贴进下面的框
文件名后缀:JSON · JSONL · YAML · CSV · TSV · SRT · WebVTT
把一份语言包、配置或字幕文件丢进来,选好语言,点「翻译」。工具只翻字符串值,键名、字段顺序、列名、字幕时间轴一个字节都不动 —— 拿整份文件去翻译,`"Save"` 这样的键名也会变成中文,程序从此再也取不到那个键,而这是这类工具最典型的坏法。 文本会发给第三方翻译服务(页面标题下那行说明写着这件事)。 先「预检」再翻译。 预检一个请求都不发,只报出「将发送 48 条、1234 字符、跳过 12 条」,并逐条列出具体是哪些字符串。免费额度按字符数算,先看一眼再决定;这也顺便让你当场确认键名确实没有混进去。 同一个字符串只发一次。 语言包里 `"Save"` 会出现几十次,逐处翻译会把额度几倍地烧掉,还会让同一个词在不同位置翻成不同的说法。 关于排版:产物是结构等价的,但不是逐字相同 —— 注释会丢(JSON 与 CSV 本来就没有注释,YAML 有)、引号风格可能变、JSON 按你选的缩进重写。这一点 FAQ 里再说一次,因为它值得知道。
功能
- 7 种格式:JSON、JSONL、YAML、CSV、TSV、SRT、WebVTT,也可以自动识别
- 只翻字符串值:键名、字段顺序、CSV 列名、字幕时间轴一个字节不动
- 同一个字符串只发一次(去重后再翻,省额度,也让同一个词的译法保持一致)
- 默认跳过网址、邮箱、站内路径,以及整条就是 `{name}` / `%s` / `$1` 这类变量或占位符的值,两个开关都能关
- 没有可翻内容的值(纯数字、纯符号)自动略过
- 翻译前先「预检」:报出会发几条、多少字符、跳过哪些,一个请求都不发
- 逐条翻译带进度显示(已完成 12 / 48),几十秒的等待不会让人以为卡住
- 拖入文件或直接粘贴,译后可复制或下载,文件名后缀跟着格式走
- 引擎可选免费的 MyMemory,或填自己的 Azure 密钥(密钥只存本机,不上传)
- 结果里写明识别成什么格式、翻了几条、发了多少字符与几次请求
使用方法
- 把语言包、配置或字幕文件拖进上面的框,或把内容粘进左边
- 选源语言与目标语言;文件格式默认自动识别
- 点「预检」,看会发多少条、分别是哪些字符串
- 点「翻译」,等进度走完
- 右边是译后文件,可复制或下载
常见问题
- 我的文件会被谁看到?
- 发给所选的翻译服务(MyMemory 或 Azure),不经过本站 —— 这个站是纯静态的,没有服务端可以接触你的数据。但文件内容确实离开了你的设备,所以涉密或隐私内容请不要用在线翻译。
- 键名会被翻译吗?
- 不会,而这正是它与「把整份文件丢给翻译」最根本的区别。拿 `{"Save": "Save the file"}` 来说,只有右边那个值会被换掉,左边的 `"Save"` 原样保留 —— 键名被翻掉之后程序再也取不到那个键,而且那是运行时才炸,编译期毫无察觉。CSV 的第一行按列名处理,同样不翻。
- 为什么译后文件看起来和原来不一样?
- 因为值填回去之后是重新序列化的:结构等价、值都对,但排版按各格式自己的确定性写法重写 —— YAML 的注释会丢、引号风格可能变;JSON 按你选的缩进重排;CSV 统一成带引号转义的 CRLF 写法。JSON 与 CSV 本来就没有注释,所以受影响最小。所谓「逐字保留原排版」是做不到的,工具也不会假装做得到。
- 为什么有些值没有被翻译?
- 三类会被跳过:看起来是网址、邮箱或站内路径的;整条就是一个变量或占位符的(`{count}`、`%s`、`$1`);以及一个字母都没有的(`123`、`---`)。前两类可以在上面把开关关掉照样翻。默认跳过是因为翻译服务把 `{count}` 改成别的写法之后,程序就会崩,而那是很难查回来的。
- 为什么不支持 TOML 和 INI?
- 因为那两类文件里的值绝大多数是路径、开关和标识符,真正需要翻译的很少;而每多支持一种格式,就多一份「序列化之后和原文件长得不一样」的风险。真要翻,先用TOML 转换把它转成 JSON 再拿过来 —— 那条路更稳。
- 字幕的时间轴会变吗?
- 不会。SRT 与 WebVTT 只翻正文,cue 编号、时间戳、cue 设置全部原样保留。要整体平移或缩放时间轴,用字幕转换:那里有按秒平移和按系数缩放。
- 免费额度是怎么算的?
- MyMemory 的匿名额度按字符数算、按天重置。这个工具在发出去之前先做了去重与跳过,所以只有真正不同的字符串会计入 —— 一份 `"Save"` 出现五十次的语言包只算一次。点「预检」就能看到这次实际会发多少字符。
- 它和「在线翻译」有什么区别?
- 那个翻的是一段文本,你贴什么它翻什么;这个翻的是一份文件,它在翻译之前先解析、只挑出该翻的值、翻完再按原结构填回去。翻语言包、配置或字幕用这个,翻一段话或一封邮件用在线翻译。
相关工具
时间戳转换
转换把 Unix 时间戳还原成日期时间,或反过来。秒 / 毫秒 / 微秒 / 纳秒自动识别,支持小数、负数与 Windows FILETIME。全部在浏览器本地完成。
日期计算
转换算两个日期之间相差多少天,或给一个日期加减若干天、周、月。日期用日历挑或直接粘贴,结束日期留空就与今天比较。全部在浏览器本地完成。
进制转换
转换在二、八、十、十六、36、64 进制之间互转,六种结果一次全部给出,19 位的雪花 ID 也能一位不差。全部在浏览器本地完成。
Cron 解析
转换把 cron 表达式逐字段讲成人话,算出接下来几次与上一次的执行时间;永远不会触发的表达式会当场说明原因。全部在浏览器本地解析。
颜色转换
转换在 HEX、RGB、HSL、HWB、CMYK 与 OKLab、OKLCH、Lab、XYZ 之间互转,另给出色温、反色、互补色、最接近的 ANSI 终端色与 WCAG 对比度。全部在浏览器本地完成。
CSS 单位换算
转换把 CSS 长度在 px、rem、em、vw、vh、vmin、vmax、pt、in、cm、mm 之间互转。根字号与视口尺寸可调,每个数字都标出按什么算的。