XLIFF 1.2 ファイルを翻訳する
XLIFF はソースと翻訳を並べて表示し、その間にインラインタグがあります。タグを移動または削除すると、アプリ内のプレースホルダーやリンクが消えます。KAERIS はタグを保持し、欠落があれば通知します。
KAERISはこのページを翻訳し、すべての行を逆翻訳して確認しました。ネイティブスピーカーによるレビューはまだ行われていません。 英語原文
XLIFF 1.2 ファイルの構造
各 <trans-unit> は <source> と <target> を持ちます。テキスト内の <x/>、<g>、<ph> は変数やマークアップを表します。Angular の messages.xlf はこの形式です。
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="de" datatype="plaintext" original="app">
<body>
<trans-unit id="welcome">
<source>Welcome back, <x id="1" ctype="x-name"/>!</source>
</trans-unit>
<trans-unit id="terms">
<source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
</trans-unit>
</body>
</file>
</xliff>
XLIFF 翻訳で注意すべき点
インラインタグはプレースホルダーです
<x id="1"/>は変数、<g>…</g>はリンクや強調を囲みます。これらは生のマークアップとして保持され、ソースと比較されます。1つのファイルに2言語
target-language属性と各<target>は一致する必要があります。チェックはカタログ単体を読み込むため、1ファイルで十分です。バージョン1.2のみ対応
XLIFF 2.0 は構造が異なり(
<unit><segment>)、中途半端に読み込まれるのではなく、メッセージ付きで拒否されます。タグ属性は翻訳しないでください
ctypeとid属性は構造情報であり、テキストではありません。
実際の実行例:ドイツ語に翻訳しチェック
実際の実行例、2026年10月27日、手動編集なし: kaeris translate messages.xlf --langs de を kaeris 0.2.35 で実行、1.9秒、モデルは google/gemini-2.5-flash-lite(無料プランのデフォルト)。以下は生成されたドイツ語ファイルと kaeris check の結果です。
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="app" source-language="en" target-language="de" datatype="plaintext">
<body>
<trans-unit id="welcome">
<source>Welcome back, <x id="1" ctype="x-name" />!</source>
<target state="translated">Willkommen zurück, <x id="1" ctype="x-name" />!</target>
</trans-unit>
<trans-unit id="terms">
<source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
<target state="translated">Ich akzeptiere die <g id="2" ctype="x-link">Nutzungsbedingungen</g>.</target>
</trans-unit>
</body>
</file>
</xliff>
$ kaeris check --source messages.xlf --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
KAERIS が行うこと
タグは保持されます
インラインタグは生の XML として保持され、欠落があれば無料チェックで報告されます。
状態が書き込まれます
翻訳済みの各
<target>はstate="translated"属性付きで書き込まれます。この形式の無料チェック
無料チェックページの/checkはこの形式を読み込み、キーやアカウントなしで実行できます。ターミナルコマンド
kaeris checkも同様に読み込みます:kaeris 0.2.35以降の13形式すべてに対応し、同じルールでどこにも送信しません。
3ステップで実行する
CLIをインストールする
pip install kaerisを実行します。ファイルを翻訳する
kaeris translate src/locale/messages.xlf --langs de,jaを実行してください。結果をチェックする
無料チェックページを開き、翻訳済みファイルをアップロードしてください。ソースとターゲットが1ファイルにあるカタログは単独でチェックされます。
pip install kaeris kaeris translate src/locale/messages.xlf --langs de,ja --verify
よくある質問
XLIFF 2.0 はサポートされていますか?
いいえ。バージョン1.2がサポートされています。2.0ファイルは、その旨のメッセージとともに拒否されます。
無料ですか?
はい、アカウントなしで:ファイルあたり 10,000 文字、実行あたり最大 8 言語。無料の API キーでファイル制限が 50,000 文字に引き上げられます。一度限りの生涯プランは 79 ドルで、ご自身の OpenRouter キーを使用します。月額プランは 19 ドルから。 料金
ターミナルや CI から実行できますか?
はい。pip install kaeris を実行し、次に kaeris translate src/locale/messages.xlf --langs de,ja を実行します。Angularも参照してください。GitHub Actionはプルリクエストで同じ翻訳を実行します。CLIドキュメント · GitHub Action
続ける
CLIリファレンス · チェックリファレンス · ブラウザで翻訳 · 無料チェック · フォーマット変換 · 疑似ローカリゼーション
その他のフォーマット: JSON · YAML · .po · ARB · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML