TranslateBotの 仕組み

TranslateBotが翻訳をどのように処理するのか、内部を詳しく見てみましょう。

スキャン

ロケールディレクトリ内のすべての.poファイルを検出します

差分

空のmsgstr値を持つエントリを特定します

翻訳

選択したAIモデルにバッチ送信します

書き込み

翻訳で.poファイルを更新します

プレースホルダーの保持

Djangoは動的な値に特別なプレースホルダーを使用します。これらが壊れるとアプリがクラッシュします。TranslateBotはそれらを保持します。

入力(msgid) Welcome back, %(username)s! You have %(count)d new messages.
出力(msgstr - フランス語) Bon retour, %(username)s ! Vous avez %(count)d nouveaux messages.
%(name)s 名前付き文字列
%(count)d 名前付き整数
%s 位置指定文字列
{0} フォーマットインデックス

なぜドライランなのか?

完全な翻訳を実行する前に、--dry-runを使用して、何が翻訳されるかを正確に確認できます。API呼び出しやファイルの変更は行われません。

$ python manage.py translate --target-lang nl --dry-run
ℹ️ Found 3 untranslated entries
🔍 Dry run mode: skipping LLM translation

✓ Would translate 'Welcome to our platform'
✓ Would translate 'Save changes'
✓ Would translate 'Delete account'

Dry run complete: 3 entries would be translated
APIコストなし
翻訳が必要なものを確認
ファイル変更なし

翻訳を自動化する準備はできましたか?