翻译 Rails 风格的 YAML 区域设置文件
Rails 风格的 YAML 文件以语言代码开头,并将所有内容嵌套在其下,其字符串包含 %{name} 变量。KAERIS 会翻译这些值,为目标语言重写根键,并检查每个变量是否都已正确传递。
KAERIS 翻译了此页面,并通过回译检查了每一行。尚未经过母语人士审阅。 英文原文
YAML 区域设置文件如何构建
第一行是区域设置(en:);每个键都嵌套在其下。复数形式是普通键,如 one 和 other。支持列表。没有根区域设置的单个平面映射文件也会被读取,其点分隔的键将按原样保留。
en: greeting: "Welcome back, %{name}!" inbox: one: "%{count} new message" other: "%{count} new messages" errors: blank: "can't be blank" too_short: "is too short (minimum is %{count} characters)" checkout: total: "Total: <strong>%{amount}</strong>"
YAML 翻译中需要注意的事项
根键跟随文件
en:在德语文件中必须变为de:,否则 Rails 永远找不到它。KAERIS 将目标语言写入根目录。%{variables} 和 HTML
Rails 插值是
%{name};一些项目使用{{name}}。两者都会与源进行比较。像<strong>这样的内嵌标签以相同方式进行检查。引用
以
[、*或&开头,或包含:的翻译值,除非加引号,否则不是有效的 YAML。编写者自行决定是否加引号:在示例输出中,以%{count}开头的值会加引号返回。注释不会传递
源文件中的 YAML 注释不会被带入翻译后的文件中。将注释保留在服务键(以
_开头的键将不被翻译)或您的存储库中。
实际运行:翻译为德语并进行检查
实际运行,2026 年 10 月 27 日,未手动编辑:kaeris translate en.yml --langs de,使用 kaeris 0.2.35,耗时 3 秒,模型 google/gemini-2.5-flash-lite,免费套餐默认。下方是它生成的德语文件以及 kaeris check 的相关说明。
de: greeting: Willkommen zurück, %{name}! inbox: one: '%{count} neue Nachricht' other: '%{count} neue Nachrichten' errors: blank: darf nicht leer sein too_short: ist zu kurz (mindestens %{count} Zeichen) checkout: total: 'Gesamt: <strong>%{amount}</strong>'
$ kaeris check --source en.yml --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
KAERIS 的处理方式
结构保持不变
嵌套、键顺序和列表会按原样返回;每个语言的根区域设置键都会被重写。
变量和标签已检查
丢失的
%{name}或<strong>会通过计数找到,不涉及模型。此格式免费检查
在 /check 上的免费检查可以读取此格式,无需密钥或账户即可运行。终端命令
kaeris check也可以读取它:自 kaeris 0.2.35 起,它支持所有 13 种格式,规则相同,且不会将任何内容发送到任何地方。
分三步运行
安装 CLI
运行
pip install kaeris。翻译文件
运行
kaeris translate config/locales/en.yml --langs de,ja。输出文件按语言命名。检查结果
在免费检查页面上上传源文件和翻译后的文件;它会列出丢失的变量、标签和缺失的键。
pip install kaeris kaeris translate config/locales/en.yml --langs de,ja --verify
问题
它适用于 Rails en.yml 吗?
是的。根键 en:、嵌套键和 %{name} 变量都得到了处理。另请参阅 Rails 页面。
我的 YAML 中的注释怎么办?
它们保留在您的源文件中。翻译后的文件将不包含它们。
免费吗?
是的,无需账户:每个文件 10,000 个字符,每次运行最多 8 种语言。免费的 API 密钥可将文件限制提高到 50,000 个字符。一次性付费 79 美元,使用您自己的 OpenRouter 密钥;月度套餐起价为 19 美元。价格
我可以在终端或 CI 中运行它吗?
是的。pip install kaeris,然后 kaeris translate config/locales/en.yml --langs de,ja。GitHub Action 在拉取请求中运行相同的翻译。CLI 文档 · GitHub Action
继续
CLI 参考 · 检查参考 · 在浏览器中翻译 · 免费检查 · 格式转换 · 伪本地化
其他格式:JSON · .po · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML