django.poを翻訳し、すべての行をチェックする
makemessagesはlocale/en/LC_MESSAGES/django.poを%(name)s変数と複数形エントリで書き込みます。%(name)sを翻訳するか削除すると、テンプレートはエラーを発生させるか、何も表示しません。KAERISは各msgstrを埋め、変数はDjangoが期待するようにそのまま残します。
KAERISはこのページを翻訳し、すべての行を逆翻訳して確認しました。ネイティブスピーカーによるレビューはまだ行われていません。 英語原文
%(name)s はそのまま残ります
各 msgid には msgstr が割り当てられ、ヘッダーにはターゲットの Language と複数形ルールが設定されます。
msgid "Welcome back, %(name)s!"
msgstr ""
msgid "Save changes"
msgstr ""
msgid "Welcome back, %(name)s!" msgstr "Willkommen zurück, %(name)s!" msgid "Save changes" msgstr "Änderungen speichern"
KAERIS が行うこと
言語ごとの複数形
ngettextエントリは、ターゲットが必要とする数のmsgstrフォームを取得します。ロシア語の場合は3つ、中国語の場合は1つです。変数は AI なしでチェック
翻訳後、単純なカウントチェックで各変数とタグがオリジナルと比較されます。一つ失われた行はマークされ、一番上に表示されます。
各行が逆翻訳される
別のモデル、GPT-4o mini が各行をあなたの言語に逆翻訳し、DeepSeek V3.2 が米国ホスト (DeepInfra, DigitalOcean, Google) 上で意味が変わったかどうかを判定します。各行が現在何を言っているかを確認できます。
よくある質問
その後、何をすればよいですか?
ファイルを locale/<lang>/LC_MESSAGES/ に配置し、通常どおり compilemessages を実行してください。
msgctxt は保持されますか?
はい。同じテキストでもコンテキストが異なるエントリは、別々に保持されます。
無料ですか?
はい、アカウントなしで:ファイルあたり 10,000 文字、実行あたり最大 8 言語。無料の API キーでファイル制限が 50,000 文字に引き上げられます。一度限りの生涯プランは 79 ドルで、ご自身の OpenRouter キーを使用します。月額プランは 19 ドルから。 料金
ターミナルや CI から実行できますか?
はい。pip install kaeris を実行し、次にファイルと --langs de,ja を指定して kaeris translate を実行します。新しいキーが追加されると、GitHub Action がプルリクエストを開きます。 ドキュメント