ChatGPT Translator Extension for Translate-Tools/Linguist
Este repositório descreve uma extensão do ChatGPT Translator, que foi desenvolvida para integrar-se ao ecossistema de ferramentas de tradução, como as oferecidas pela extensão de navegador Translate-Tools/Linguist.
O principal objetivo dessa extensão é traduzir textos, documentos HTML inteiros e até mesmo código-fonte, respeitando suas estruturas originais, regras contextuais e oferecendo alta fidelidade no output traduzido.
Funcionalidades Desenvolvidas
Esta extensão foi projetada para oferecer suporte avançado de tradução, incluindo:
1. Tradução de Qualquer Idioma para Português Brasileiro
- A saída será sempre traduzida para português brasileiro independentemente do idioma de entrada.
- O idioma de origem é identificado automaticamente.
- Qualquer conteúdo textual encontrado (dentro de arquivos, HTML ou texto puro) é processado exclusivamente.
2. Preservação Estrutural
- A extensão contém mecanismos explícitos para entender e respeitar a estrutura do conteúdo traduzido:
- HTML: As tags, atributos (como
class,id, ouhref) e a hierarquia da página permanecem intactos. Apenas o texto visível para o usuário é traduzido. - Código-Fonte: Linguagens de programação como Python, JavaScript e outras são tratadas com cuidado. Comentários e strings são traduzidos, enquanto a lógica do código e a formatação original permanecem inalteradas.
- HTML: As tags, atributos (como
3. Saída Puramente Traduzida
- O modelo foi configurado para retornar somente o conteúdo traduzido, sem mensagens adicionais, explicações ou informações extras que possam poluir a saída.
- Utilizando um encapsulamento explícito com a tag
<texto>, delimitamos claramente os dados a serem processados.
4. Delimitação de Conteúdo com Tags
- Todo conteúdo que o modelo interpretará é explicitamente delimitado pela estrutura:
<texto> (conteúdo aqui) </texto>
- Isso evita ambiguidades e reduz a possibilidade de o modelo traduzir algo que não deveria.
O que foi Implementado?
Aqui estão os detalhes específicos de melhorias feitas para que a extensão suporte as exigências e complexidades do Translate-Tools/Linguist:
-
Prompt Personalizado para Tradução
- Um dos maiores desafios ao tratar linguagens de IA é garantir a obediência rígida às regras. Criamos um prompt altamente detalhado que:
- Define o papel do modelo como "sistema de tradução automatizada".
- Proíbe inclusões desnecessárias, forçando um retorno limpo e eficaz.
- Estabelece a preservação total da estrutura HTML e código.
- Um dos maiores desafios ao tratar linguagens de IA é garantir a obediência rígida às regras. Criamos um prompt altamente detalhado que:
-
Manuseio de Lotes (Batch)
- A extensão suporta operações em massa, permitindo a tradução paralela de múltiplos textos ao mesmo tempo.
-
Adequação à Interface do Translate-Tools
- A extensão foi projetada para atender os métodos obrigatórios definidos pela interface
Translator, incluindo funções comotranslate(),translateBatch(),getLengthLimit(), entre outras.
- A extensão foi projetada para atender os métodos obrigatórios definidos pela interface
-
Restrições de Comprimento e Timeout
- Adicionamos um controle rigoroso para lidar com textos de tamanhos maiores ou que exigem requisições longas:
- Verifica e avisa quando o limite de caracteres é excedido.
- Configura um tempo mínimo entre as requisições para evitar sobrecarregar a API.
- Adicionamos um controle rigoroso para lidar com textos de tamanhos maiores ou que exigem requisições longas:
-
Combinação de Usabilidade e Performance
- A redução no
temperatureda API para 0.2 aumenta a precisão em vez de criatividade, essencial para manter a estrutura e a semântica do texto traduzido. - O método
checkLimitExceeding()foi refatorado para retornar o número de caracteres excedentes (quando aplicável), seguindo a especificação da interface.
- A redução no
Como Funciona?
Para cada execução de tradução, seja ela um único texto ou em lote, a extensão:
- Delimita o conteúdo a ser processado com as tags
<texto>. - Invoca o ChatGPT através da API OpenAI usando o prompt detalhado.
- Garante a preservação estrutural (HTML/código) e retorna o conteúdo traduzido em português.
Um exemplo de como o texto traduzido pode ser encapsulado:
<texto>
Bem-vindo ao mundo da programação!
<a class="link" href="https://example.com">Clique aqui</a> para aprender mais.
</texto>Aviso Importante
- Esta extensão não deve ser utilizada para propósitos que alterem ou manipulem código sensível sem validação humana.
- Sempre revise traduções críticas para assegurar que o significado foi preservado.