Este script de Python proporciona una herramienta sólida y flexible para traducir archivos .po
utilizando el modelo GPT-4 de OpenAI. Admite varios modos de traducción, maneja entradas difusas e integra procesamiento por lotes para proyectos más grandes, lo que lo hace adecuado para diversas estructuras y tamaños de archivos .po
.
--detail-lang
) : admite el uso de nombres de idiomas completos (p. ej., "Países Bajos, alemán") junto con códigos cortos (p. ej., nl, de
), lo que garantiza claridad en las indicaciones de traducción.polib
(para manejo de archivos .po
)openai
Python (para integración con modelos OpenAI GPT)tenacity
(para mecanismos de reintento)python-dotenv
(para gestionar variables de entorno) Instale el paquete gpt-po-translator
directamente desde PyPI:
pip install gpt-po-translator
Para instalación manual o trabajar con el código más reciente del repositorio:
git clone [repository URL]
pip install .
gpt-po-translator
admite dos métodos para proporcionar credenciales de API OpenAI:
Variable de entorno : configure su clave API de OpenAI como una variable de entorno denominada OPENAI_API_KEY
. Este método se recomienda por razones de seguridad y facilidad de administración de claves API.
export OPENAI_API_KEY= ' your_api_key_here '
Argumento de línea de comandos : pase la clave API como argumento de línea de comandos usando la opción --api_key
.
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 100 --folder-language
Asegúrese de que su clave API esté almacenada de forma segura y no expuesta en espacios o repositorios públicos.
Utilice gpt-po-translator
como herramienta de línea de comandos para traducir archivos .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 "
Este comando traduce archivos .po
en la carpeta ./locales
al alemán y francés, utilizando la clave API de OpenAI proporcionada y procesando 40 traducciones por lote en modo masivo. También infiere el idioma de la estructura de carpetas.
--folder
: especifica la carpeta de entrada que contiene los archivos .po
.--lang
: códigos de idioma separados por comas para filtrar archivos .po
(por ejemplo, de,fr
).--detail-lang
: Argumento opcional para nombres completos de idiomas, que coinciden con el orden de --lang
(por ejemplo, "alemán, francés").--fuzzy
: elimina las entradas difusas antes del procesamiento.--bulk
: habilita el modo de traducción masiva para un procesamiento más rápido.--bulksize
: establece el tamaño del lote para la traducción masiva (el valor predeterminado es 50).--model
: especifica el modelo OpenAI que se utilizará para las traducciones (el valor predeterminado es gpt-3.5-turbo-0125
).--api_key
: clave API de OpenAI. Se puede proporcionar a través de la línea de comando o como una variable de entorno.--folder-language
: Infiere el idioma de destino a partir de la estructura de carpetas. La opción --detail-lang
complementa --lang
permitiéndole especificar nombres completos de idiomas (por ejemplo, Netherlands,German
) en lugar de códigos cortos de idioma. Luego, los nombres completos se utilizan en el contexto de las indicaciones de OpenAI, lo que mejora la claridad del modelo GPT.
Uso de ejemplo:
gpt-po-translator --folder ./locales --lang nl,de --detail-lang " Netherlands,German "
El script registra información detallada sobre los archivos que se procesan, la cantidad de traducciones y detalles del lote en modo masivo. Los registros son esenciales para monitorear el progreso, depurar problemas y garantizar la transparencia durante todo el proceso de traducción.
El script incluye un sólido manejo de errores y reintentos para garantizar una traducción confiable:
Este proyecto está bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.