翻译 YAML 文件或 Rails en.yml,保留注释、键名与引号
上传 Rails en.yml、Symfony messages 或 Hugo 数据文件等 YAML 文件,导出的文件中仅值被翻译,其余部分原样保留:注释、键名顺序、缩进和引号风格完全不变。以 en: 为根节点的 Rails 文件将导出为以 fr: 为根节点的 fr.yml。不超过 300 个值的文件完全免费;更大的文件仅需 $5,一次付费。
处理 YAML 文件:AI聊天机器人对比本工具
AI聊天机器人处理几行 YAML 表现尚可,但在处理长文件以及复杂的 YAML 语法细节时频频出错。
| 翻译场景 | AI聊天机器人 | 本工具 |
|---|---|---|
| 十几行字符串 | 通常能正确翻译 | 同样能翻译 |
| 包含注释的长 en.yml 文件 | 会重写整个文件,注释和引号经常丢失 | 仅修改值,注释完好保留 |
| 译文中包含冒号 | 可能会遗漏引号,导致文件语法损坏 | 在值需要时自动补全引号 |
| %{count} 个项目 | 通常能保留,但缺乏校验机制 | 逐一严格校验每个值中的变量 |
文件的处理机制
文件按行读取,绝不破坏原有格式。工具能精准定位每个值在行内的起止位置,因此仅替换这些字符。例如,法语中若生成包含冒号和空格的译文“Panier : contenu”,工具会自动为其加上双引号,防止 YAML 语法歧义;原本单引号包裹的值仍保持单引号,且撇号会自动双写转义。
| 或 > 之后的块文本会逐行保留缩进。标识符键名(如 id、url、slug、type、status、code 等)以及类似 cart_path 的标识符取值均保持不变,true、false、null 和数字也完全不作处理。
哪些内容保持不变
流式风格的值([a, b] 或 {a: b})、别名与锚点(*name、&name)、带类型标签的值,以及没有块标记却跨越多行的普通值均不作翻译,从而彻底杜绝语法损坏。这类格式在翻译文件中本就极少出现。
如果您的 YAML 包含应用复数形式字符串,且框架是通过独立键名来区分复数规则的,本工具会将每个形式作为独立值翻译。对于带有复杂复数规则的 gettext PO、i18next 或 ARB 文件,请使用本地化文件翻译工具。
工具的工作方式、费用以及文件处理方式,请见 JSON、XML和YAML翻译 页面;所有工具的价格请见 价格 页面。
最后更新于
常见问题
可以翻译 Rails en.yml 文件吗?
可以。每个值都会被翻译,键名和注释完好保留,校验 %{count} 类插值变量,且根键 en: 会自动重命名为目标语言,文件名也会同步更改。
文件里的注释会保留吗?
会。注释、空行和缩进均原样保留,只替换文本内容的值。
如果译文需要加引号怎么办?
若不加引号会改变语义的值(例如包含冒号和空格的文本),工具会自动为其加上双引号。
费用是多少?
不超过 300 个值的文件完全免费。更大的文件仅需 $5,一次付费,最多支持 50,000 个值。
我的文件安全吗?
只有您能访问您的任务。这些值仅发送给 AI 模型服务商用于翻译,所用通道绝不会将您的数据用于模型训练。无需注册上传的任务将在 7 天后彻底删除。