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形式すべてに対応し、同じルールでどこにも送信しません。
3ステップで実行する
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