Этот скрипт Python предоставляет надежный и гибкий инструмент для перевода файлов .po
с использованием модели OpenAI GPT-4. Он поддерживает различные режимы перевода, обрабатывает нечеткие записи и интегрирует пакетную обработку для более крупных проектов, что делает его подходящим для различных структур и размеров файлов .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:
Переменная среды : установите ключ API OpenAI в качестве переменной среды с именем OPENAI_API_KEY
. Этот метод рекомендуется для обеспечения безопасности и простоты управления ключами API.
export OPENAI_API_KEY= ' your_api_key_here '
Аргумент командной строки : передайте ключ API в качестве аргумента командной строки, используя параметр --api_key
.
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 100 --folder-language
Убедитесь, что ваш ключ API надежно хранится и не доступен в общедоступных местах или репозиториях.
Используйте gpt-po-translator
в качестве инструмента командной строки для перевода файлов .po
:
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 "
Эта команда переводит файлы .po
в папке ./locales
на немецкий и французский языки, используя предоставленный ключ API OpenAI и обрабатывая 40 переводов за пакет в массовом режиме. Он также определяет язык из структуры папок.
--folder
: указывает входную папку, содержащую файлы .po
.--lang
: коды языков, разделенные запятыми, для фильтрации файлов .po
(например, de,fr
).--detail-lang
: Необязательный аргумент для полных названий языков, соответствующий порядку --lang
(например, «Немецкий, Французский»).--fuzzy
: удаляет нечеткие записи перед обработкой.--bulk
: включает режим массового перевода для более быстрой обработки.--bulksize
: устанавливает размер пакета для массового перевода (по умолчанию — 50).--model
: указывает модель OpenAI, используемую для переводов (по умолчанию — gpt-3.5-turbo-0125
).--api_key
: ключ API OpenAI. Может быть предоставлен через командную строку или как переменная среды.--folder-language
: определяет целевой язык из структуры папок. Опция --detail-lang
дополняет --lang
, позволяя вам указывать полные названия языков (например, Netherlands,German
) вместо коротких кодов языков. Полные имена затем используются в контексте подсказок OpenAI, что повышает ясность модели GPT.
Пример использования:
gpt-po-translator --folder ./locales --lang nl,de --detail-lang " Netherlands,German "
Скрипт записывает подробную информацию об обрабатываемых файлах, количестве переводов и сведениях о пакете в массовом режиме. Журналы необходимы для мониторинга прогресса, устранения проблем и обеспечения прозрачности на протяжении всего процесса перевода.
Сценарий включает в себя надежную обработку ошибок и повторные попытки для обеспечения надежного перевода:
Этот проект лицензируется по лицензии MIT. Подробности смотрите в файле ЛИЦЕНЗИИ.