この Python スクリプトは、OpenAI の GPT-4 モデルを使用して.po
ファイルを翻訳するための堅牢かつ柔軟なツールを提供します。さまざまな翻訳モードに対応し、あいまいなエントリを処理し、大規模プロジェクト向けのバッチ処理を統合することで、さまざまな.po
ファイル構造とサイズに適しています。
--detail-lang
) : 完全な言語名 (例: 「オランダ、ドイツ語」) とショートコード (例: nl, de
) の使用をサポートし、翻訳プロンプトの明瞭さを確保します。polib
ライブラリ ( .po
ファイル処理用)openai
Python パッケージ (OpenAI GPT モデルとの統合用)tenacity
ライブラリ (再試行メカニズム用)python-dotenv
(環境変数の管理用) gpt-po-translator
パッケージを PyPI から直接インストールします。
pip install gpt-po-translator
手動インストールまたはリポジトリからの最新コードを使用する場合:
git clone [repository URL]
pip install .
gpt-po-translator
OpenAI API 資格情報を提供するための 2 つの方法をサポートしています。
環境変数: OpenAI API キーをOPENAI_API_KEY
という名前の環境変数として設定します。セキュリティと API キー管理の容易さのために、この方法をお勧めします。
export OPENAI_API_KEY= ' your_api_key_here '
コマンドライン引数: --api_key
オプションを使用して、API キーをコマンドライン引数として渡します。
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 100 --folder-language
API キーが安全に保管され、公共スペースやリポジトリに公開されないようにしてください。
.po
ファイルを翻訳するためのコマンドライン ツールとしてgpt-po-translator
使用します。
gpt-po-translator --folder [path_to_po_files] --lang [language_codes] [--api_key [your_openai_api_key]] [--fuzzy] [--bulk] [--bulksize [batch_size]] [--folder-language] [--detail-lang [full_language_names]]
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 40 --folder-language --detail-lang " German,French "
このコマンドは、提供された OpenAI API キーを使用して、 ./locales
locales フォルダー内の.po
ファイルをドイツ語とフランス語に翻訳し、一括モードでバッチごとに 40 個の翻訳を処理します。また、フォルダー構造から言語を推測します。
--folder
: .po
ファイルを含む入力フォルダーを指定します。--lang
: .po
ファイルをフィルタリングするためのカンマ区切りの言語コード (例: de,fr
)。--detail-lang
: --lang
の順序に一致する、完全な言語名のオプションの引数 (例: "ドイツ語,フランス語")。--fuzzy
: 処理前にあいまいなエントリを削除します。--bulk
: 処理を高速化するために一括変換モードを有効にします。--bulksize
: 一括翻訳のバッチ サイズを設定します (デフォルトは 50)。--model
: 翻訳に使用する OpenAI モデルを指定します (デフォルトはgpt-3.5-turbo-0125
)。--api_key
: OpenAI API キー。コマンドラインまたは環境変数として指定できます。--folder-language
: フォルダー構造からターゲット言語を推測します。 --detail-lang
オプションは、言語ショートコードの代わりに完全な言語名 (例: Netherlands,German
) を指定できるようにすることで--lang
を補完します。フルネームは OpenAI プロンプトのコンテキストで使用され、GPT モデルの明確さが向上します。
使用例:
gpt-po-translator --folder ./locales --lang nl,de --detail-lang " Netherlands,German "
このスクリプトは、処理中のファイル、翻訳数、バッチの詳細に関する詳細情報を一括モードでログに記録します。ログは、進行状況の監視、問題のデバッグ、翻訳プロセス全体の透明性の確保に不可欠です。
スクリプトには、信頼性の高い変換を保証するための堅牢なエラー処理と再試行が含まれています。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。