翻译 config/locales/en.yml,然后检查每一行
Rails 的 YAML 以 locale 作为根键开始,并使用 %{name} 变量和 one/other 复数键。在德语文件中保留顶部的 en:,或翻译 %{count},I18n gem 将显示英语或原始键。KAERIS 会将 de.yml 写入正确的根,并保持变量不变。
KAERIS 翻译了此页面,并通过回译检查了每一行。尚未经过母语人士审阅。 英文原文
根键会改变,变量不会
en: 变为 de:。复数键保持不变。
之前config/locales/en.yml
en: welcome: "Welcome back, %{name}!" cart: zero: "Your cart is empty" one: "%{count} item" other: "%{count} items" save: "Save changes"
之后config/locales/de.yml
de: welcome: "Willkommen zurück, %{name}!" cart: zero: "Dein Warenkorb ist leer" one: "%{count} Eintrag" other: "%{count} Einträge" save: "Änderungen speichern"
KAERIS 的处理方式
检测到 Locale 根
以
en:为根的文件被识别为 Rails 文件,每个翻译都会获得自己的根。变量在无 AI 的情况下进行检查
翻译后,简单的计数检查会将每个变量和标记与原始内容进行比较。丢失了任何变量的行将被标记并显示在顶部。
每一行都翻译回来
另一个模型 GPT-4o mini 会将每一行翻译回您的语言,然后 DeepSeek V3.2 在美国主机(DeepInfra、DigitalOcean、Google)上判断含义是否发生变化。您可以阅读每一行现在的含义。
问题
复数形式更多的语言?
俄语或波兰语需要 few 和 many。添加这些键即可翻译;如果缺少一个,检查会提示。
YAML 锚点有效吗?
是的,在有限范围内:如果锚点展开成大量键的文件将被拒绝。
免费吗?
是的,无需账户:每个文件 10,000 个字符,每次运行最多 8 种语言。免费的 API 密钥可将文件限制提高到 50,000 个字符。一次性付费 79 美元,使用您自己的 OpenRouter 密钥;月度套餐起价为 19 美元。价格
我可以在终端或 CI 中运行它吗?
可以。pip install kaeris,然后使用您的文件和 --langs de,ja 运行 kaeris translate。当有新密钥时,GitHub Action 会打开一个 pull request。文档