仕組み 動作環境
TranslateBotが翻訳を処理する仕組みを詳しく見てみましょう。
スキャン
localeディレクトリ内のすべての.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?
完全な翻訳を実行する前に、--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コストなし
翻訳が必要なものを確認
ファイル変更なし