Auto-I18N: Ferramenta de tradução multilíngue automática usando chatgpt
O Auto-I18N é uma ferramenta que traduz automaticamente os arquivos de marcação em multilíngues usando o chatgpt. Ele implementa a automação completa da postagem do blog I18N (internacionalização). Você só precisa empurrar sua postagem no seu repositório do GitHub para se traduzir automaticamente em vários idiomas com ações do GitHub. (Inglês, espanhol e árabe são atualmente apoiados, e mais suporte ao idioma será fornecido no futuro)
As principais características do Auto-I18N:
- Tradução multilíngue em lote : o Auto-I18N fornece a função da tradução em lote, permitindo que você traduza todos os documentos de remarca em um caminho todo em linguagens multilíngues ao mesmo tempo, melhorando bastante a eficiência de projetos multilíngues.
- Compatível com a matéria frontal : Auto-I18N Compatível com a sintaxe da matéria frontal de marcação, você pode personalizar regras de tradução ou substituição para diferentes campos.
- Substituição fixa de conteúdo : o Auto-I18N também suporta a substituição de conteúdo fixo. Se você deseja que a tradução de alguns campos duplicados no documento permaneça inalterada, esse recurso pode ajudá -lo a obter documentação consistente.
- Fluxo de trabalho automatizado : você pode usar as ações do GitHub para implementar um processo de tradução automatizado. Sem intervenção manual, o trabalho de tradução prosseguirá e atualizará automaticamente os documentos, permitindo que você se concentre mais no conteúdo.
Comece rapidamente
- Clonando o repositório localmente, renomeando
env_template.py para env.py e fornecendo sua API ChatGPT. Se você não tiver sua própria API, pode solicitar uma gratuita em GPT_API_FREE; Você também pode usar o Go-ChatGPT-API para converter a versão da Web do ChatGPT em API para usar. - Instale os módulos necessários:
pip install -r requirements.txt . - Execute o comando
python auto-translater.py para executar o programa, que processará automaticamente todos os arquivos de marcação no diretório de teste testdir/to-translate , e o lote o traduzirá para inglês, espanhol e árabe. (Mais suporte ao idioma será fornecido no futuro)
Descrição detalhada
A lógica em execução do programa auto-translater.py é a seguinte:
- O programa processará automaticamente todos os arquivos de marcação no diretório de teste
testdir/to-translate . Você pode excluir arquivos que não precisam ser traduzidos na variável exclude_list . - O nome do arquivo processado será gravado no processo gerado automaticamente
processed_list.txt . Os arquivos processados não serão traduzidos novamente na próxima vez que o programa for executado. - Para artigos originalmente escritos em inglês, o programa não re-translatará para o inglês, nem será traduzido de volta ao chinês, mas será traduzido para outros idiomas. Você precisa adicionar campos no artigo
> This post was originally written in English. (Observe que há uma linha em branco em cada parte superior e inferior) para que o programa reconheça. Consulte o teste do artigo_en.md. - Se você precisar re-translatar o artigo especificado (por exemplo, os resultados da tradução são imprecisos ou o conteúdo do artigo mudou etc.), você pode adicionar um campo
[translate] ao artigo (também precisará deixar uma linha em branco na parte superior e inferior). Isso ignorará as regras exclude_list e processed_list e processamento de tradução de força. Consulte o teste artigo_force-mark.md. - Se o arquivo de marcação contiver o assunto da frente, o seguinte método de processamento será selecionado de acordo com as regras do programa
front_matter_translation_rules :- Tradução automática: traduzido por ChatGpt. Aplicável ao título do artigo ou campo de descrição do artigo.
- Substituição de campo fixo: aplicável aos campos de categoria ou etiqueta. Por exemplo, se o mesmo nome da etiqueta chinesa não quiser ser traduzido em diferentes rótulos em inglês, causa erros de índice.
- Nenhum processamento é feito: se o campo não aparecer nas duas regras acima, o texto original será retido e nenhum processamento será feito. Aplicável até o momento, URL, etc.
Guia de automação de ações do GitHub
Você pode criar .github/workflows/ci.yml no seu repositório do projeto. Quando o repositório do GitHub é detectado, você pode usar as ações do GitHub para traduzi -lo e processá -lo automaticamente e se comprometer automaticamente com o repositório original.
O conteúdo do ci.yml pode ser referenciado como modelo: CI_TEMPLATE.YML
Você precisa adicionar dois segredos nas Settings do repositório - Secrets and variables - Repository secrets : CHATGPT_API_BASE e CHATGPT_API_KEY e comentar a instrução import env na declaração do programa auto-translater.py .
Solução de problemas de erro
- Se você precisar verificar a disponibilidade da chave da API ChatGPT, poderá usar o programa Verify-Api-Key.py para testá-lo. Se você usar a API oficial no país, precisará ter um procurador local.
- Se o assunto da frente no Markdown não puder ser reconhecido normalmente, você pode usar o programa detect_front_matter.py para testar.
- Quando você encontrar problemas usando ações do GitHub, priorize a verificação de que a referência do caminho está correta (por exemplo,
dir_to_translate dir_translated_en dir_translated_es dir_translated_ar processed_list ).
Problemas a serem resolvidos
- Em algumas circunstâncias especiais, a tradução pode ser imprecisa ou alguns campos não são traduzidos. Recomenda -se verificar manualmente o artigo após a tradução.
- (Resolvido)
Se o assunto da frente estiver incluído no Markdown, o conteúdo original do assunto da frente será mantido. PRONTAÇÃO PRONTAÇÃO Algumas funções de tradução de parâmetros estão em desenvolvimento.
contribuir
Bem -vindo ao participar da melhoria deste projeto! Se você deseja contribuir com código, relatar perguntas ou fazer sugestões, consulte o guia de contribuição.
Direitos autorais e licença
Este projeto adota uma licença do MIT.
Perguntas e apoio
Se você encontrar algum problema com o Auto-I18N ou precisar de suporte técnico, sinta-se à vontade para enviar o problema.
Meu blog usa o Auto-I18N para implementar suporte multilíngue e você pode ir ao wiki do poder para ver os efeitos da demonstração.
Agradecimentos
- Obrigado a Chatanywhere/gpt_api_free pela tecla API ChatGPT gratuita.
- Graças ao Linweiyuan/Go-Chatgpt-Api pelo método para converter o ChatGPT em API na web.