Este script Python fornece uma ferramenta robusta e flexível para traduzir arquivos .po
usando o modelo GPT-4 da OpenAI. Ele acomoda vários modos de tradução, lida com entradas difusas e integra processamento em lote para projetos maiores, tornando-o adequado para diversas estruturas e tamanhos de arquivos .po
.
--detail-lang
) : Suporta o uso de nomes completos de idiomas (por exemplo, "Holanda, Alemão") junto com códigos de acesso (por exemplo, nl, de
), garantindo clareza nas instruções de tradução.polib
(para manipulação de arquivos .po
)openai
Python (para integração com modelos OpenAI GPT)tenacity
(para mecanismos de nova tentativa)python-dotenv
(para gerenciar variáveis de ambiente) Instale o pacote gpt-po-translator
diretamente do PyPI:
pip install gpt-po-translator
Para instalação manual ou trabalho com o código mais recente do repositório:
git clone [repository URL]
pip install .
O gpt-po-translator
oferece suporte a dois métodos para fornecer credenciais da API OpenAI:
Variável de ambiente : defina sua chave de API OpenAI como uma variável de ambiente chamada OPENAI_API_KEY
. Este método é recomendado para segurança e facilidade de gerenciamento de chaves de API.
export OPENAI_API_KEY= ' your_api_key_here '
Argumento de linha de comando : passe a chave API como um argumento de linha de comando usando a opção --api_key
.
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 100 --folder-language
Certifique-se de que sua chave de API esteja armazenada com segurança e não seja exposta em espaços públicos ou repositórios.
Use gpt-po-translator
como uma ferramenta de linha de comando para traduzir arquivos .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 traduz arquivos .po
na pasta ./locales
para alemão e francês, usando a chave de API OpenAI fornecida e processando 40 traduções por lote no modo em massa. Também infere o idioma da estrutura de pastas.
--folder
: especifica a pasta de entrada que contém os arquivos .po
.--lang
: Códigos de idioma separados por vírgula para filtrar arquivos .po
(por exemplo, de,fr
).--detail-lang
: Argumento opcional para nomes completos de idiomas, correspondendo à ordem de --lang
(por exemplo, "Alemão,Francês").--fuzzy
: Remove entradas difusas antes do processamento.--bulk
: ativa o modo de tradução em massa para processamento mais rápido.--bulksize
: Define o tamanho do lote para tradução em massa (o padrão é 50).--model
: especifica o modelo OpenAI a ser usado para traduções (o padrão é gpt-3.5-turbo-0125
).--api_key
: chave da API OpenAI. Pode ser fornecido por meio da linha de comando ou como uma variável de ambiente.--folder-language
: infere o idioma de destino da estrutura de pastas. A opção --detail-lang
complementa --lang
permitindo que você especifique nomes completos de idiomas (por exemplo, Netherlands,German
) em vez de códigos de acesso de idiomas. Os nomes completos são então usados no contexto dos prompts do OpenAI, melhorando a clareza do modelo GPT.
Exemplo de uso:
gpt-po-translator --folder ./locales --lang nl,de --detail-lang " Netherlands,German "
O script registra informações detalhadas sobre os arquivos que estão sendo processados, o número de traduções e detalhes do lote no modo em massa. Os logs são essenciais para monitorar o progresso, depurar problemas e garantir transparência em todo o processo de tradução.
O script inclui tratamento robusto de erros e novas tentativas para garantir uma tradução confiável:
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.