Javaの.propertiesファイルを翻訳する
.propertiesファイルはkey=valueの行の束で、値にはMessageFormat用の{0}引数が含まれます。KAERISは値を翻訳し、コメントとキーの順序を保持し、Javaがどこでも読み取れるように純粋なASCIIでファイルを書き込みます。
KAERISはこのページを翻訳し、すべての行を逆翻訳して確認しました。ネイティブスピーカーによるレビューはまだ行われていません。 英語原文
.propertiesファイルの構造
key=value、key: valueまたはkey value、#または!によるコメント、末尾のバックスラッシュによる行継続。古いJavaはISO-8859-1として読み込むため、非ラテン文字は\uXXXX形式で書かれ、すべてのバージョンで読み取れます。
# Login form login.title=Sign in to {0} login.attempts=You have {0} attempts left cart.total=Total: {0,number,currency} about.url=https\://example.com/about help.text=Need help?\nWrite to [email protected]
.properties翻訳で注意すべき点
MessageFormatの引数
{0}、{1}、および{0,number,currency}のような型付き引数は完全なままで返されなければなりません。以下の実例では{0,number,currency}が型付きのまま返され、引数の変更や消失は報告されます。エンコーディング
出力はASCIIです。ドイツ語の“ö”や日本語の文字は
\uエスケープで書かれ、すべてのJavaバージョンで読み取れます。MessageFormat内の引用符
JavaのMessageFormatではシングルクォートが引用セクションの開始となるため、引数を使うパターンではアポストロフィに
''を使う必要があります。翻訳後はアプリ内でアポストロフィを含む文字列を確認してください。エスケープとURL
\nは改行のまま保持されます。URL内の\:は通常のコロンに戻されますが、これは有効な表記です。
実際の実行例:ドイツ語に翻訳しチェック
実例:2026年10月27日、手動編集なしでkaeris translate messages.properties --langs deをkaeris 0.2.35で実行(3.3秒、モデル openai/gpt-4.1-mini、サービスのフォールバックモデルがこのジョブに応答)。以下に生成されたドイツ語ファイルとkaeris checkの結果を示します。
# Generated by KAERIS i18n Tool - de # Login form login.title=Anmelden bei {0} login.attempts=Sie haben noch {0} Versuche cart.total=Gesamt: {0,number,currency} about.url=https://example.com/about help.text=Brauchen Sie Hilfe?\nSchreiben Sie an [email protected]
$ kaeris check --source messages.properties --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
KAERIS が行うこと
コメントと順序は保持される
コメント行、空行、キーの順序は翻訳済み値の周囲で再出力され、言語を示す1行のヘッダーが追加されます。
引数のカウント
{0}の消失や型の変更はモデルなしでも検出されます。この形式の無料チェック
無料チェックページの/checkはこの形式を読み込み、キーやアカウントなしで実行できます。ターミナルコマンド
kaeris checkも同様に読み込みます:kaeris 0.2.35以降の13形式すべてに対応し、同じルールでどこにも送信しません。
3ステップで実行する
CLIをインストールする
pip install kaerisを実行します。バンドルを翻訳する
kaeris translate messages.properties --langs de,jaを実行します。結果をチェックする
無料のチェックページにソースと翻訳済みバンドルをアップロードしてください。
pip install kaeris kaeris translate src/main/resources/messages.properties --langs de,ja --verify
よくある質問
UTF-8で書き込みますか、それとも\uエスケープを使用しますか?
エスケープです。出力ファイルはASCIIで、非ASCII文字は\uXXXXとして書かれます。
コメントは保持されますか?
はい。ソースのコメント行と空行は元の位置に書き戻され、言語名を示すヘッダー行が追加されます。
無料ですか?
はい、アカウントなしで:ファイルあたり 10,000 文字、実行あたり最大 8 言語。無料の API キーでファイル制限が 50,000 文字に引き上げられます。一度限りの生涯プランは 79 ドルで、ご自身の OpenRouter キーを使用します。月額プランは 19 ドルから。 料金
ターミナルや CI から実行できますか?
はい。pip install kaerisの後、kaeris translate messages.properties --langs de,jaを実行します。GitHub Actionはプルリクエスト内で同じ翻訳を実行します。CLIドキュメント · GitHub Action
続ける
CLIリファレンス · チェックリファレンス · ブラウザで翻訳 · 無料チェック · フォーマット変換 · 疑似ローカリゼーション
他のフォーマット: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .resx · CSV · Markdown · Fluent · Android XML