next-intlメッセージを翻訳し、すべての行を確認してください
next-intlメッセージは、ICU構文を持つネストされたJSONです:{count, plural, =0 {…} other {# items}}。日本語には複数の複数形がなく、そのままコピーされたブランチは誤って読まれる可能性があります。KAERISはmessages/en.jsonのブランチごとに翻訳し、名前空間を保持します。
KAERISはこのページを翻訳し、すべての行を逆翻訳して確認しました。ネイティブスピーカーによるレビューはまだ行われていません。 英語原文
ICUブランチはターゲット言語に従います
日本語には単数形がないため、oneはotherに統合されます。{name}と#はそのまま保持されます。
{
"HomePage": {
"title": "Welcome, {name}!",
"cartItems": "{count, plural, =0 {Your cart is empty} one {# item} other {# items}}"
}
}
{
"HomePage": {
"title": "ようこそ、{name}さん!",
"cartItems": "{count, plural, =0 {カートは空です} other {#点の商品}}"
}
}
KAERIS が行うこと
名前空間を保持
HomePage、Cart、およびネストされたすべてのオブジェクトは、ソースファイルと同じように保持され、App Routerの[locale]セグメントに対応します。変数は AI なしでチェック
翻訳後、単純なカウントチェックで各変数とタグがオリジナルと比較されます。一つ失われた行はマークされ、一番上に表示されます。
各行が逆翻訳される
別のモデル、GPT-4o mini が各行をあなたの言語に逆翻訳し、DeepSeek V3.2 が米国ホスト (DeepInfra, DigitalOcean, Google) 上で意味が変わったかどうかを判定します。各行が現在何を言っているかを確認できます。
よくある質問
selectも機能しますか?
はい。plural、select、selectordinalは構文を保持し、ブランチ内の単語のみが翻訳されます。
ロケールごとに1つのファイルですか?
はい:messages/de.json、messages/ja.jsonなど、next-intlが期待するレイアウトになります。
無料ですか?
はい、アカウントなしで:ファイルあたり 10,000 文字、実行あたり最大 8 言語。無料の API キーでファイル制限が 50,000 文字に引き上げられます。一度限りの生涯プランは 79 ドルで、ご自身の OpenRouter キーを使用します。月額プランは 19 ドルから。 料金
リポジトリに組み込むにはどうすればよいですか?
kaeris init --preset next-intlでmessages/の設定が書き込まれ、kaeris translateはフラグなしで実行されます。ドキュメント