🏴‍☠️ Tradução de textos: grátis, raivosa e sem chaves de API

Se você já tentou integrar tradução de texto em seu projeto pessoal ou parser, conhece essa dor. O Google Cloud Translation oficial exige vinculação de cartão e cotas, a API DeepL é excelente, mas cara (e complicada de pagar da Rússia), e escrever seu próprio scraper para a interface web do tradutor é um inferno garantido com geração de tokens (tk), assinatura de requisições e constantes quebras de layout.
Mas existe translators — uma biblioteca que faz esse trabalho por você.
É um agregador que (essencialmente por engenharia reversa) acessa as interfaces web de mais de 30 serviços de tradução.

O que está por baixo do capô:

1️⃣ Variedade. Além dos básicos Google/Bing/Yandex, há DeepL (melhor qualidade para línguas europeias), Baidu/Alibaba (para chinês) e até coisas específicas como VolcEngine.

2️⃣ Amigável ao HTML. A função translate_html consegue traduzir conteúdo sem quebrar a estrutura das tags.

3️⃣ Contorno inteligente. Há suporte para diferentes clientes HTTP: requests, httpx, niquests e até cloudscraper. Se um método é bloqueado por fingerprint, pode-se mudar para outro diretamente nos argumentos.

4️⃣ Magia JS. A biblioteca executa o JavaScript necessário (via exejs) para gerar assinaturas de requisições. Sim, para isso o sistema precisa ter Node.js, mas é um pequeno preço a pagar pela gratuidade.

🧑‍💻 Como fica no código:

import translators as ts

text = "Python is a language for rebels."

# Usando o motor Alibaba
print(ts.translate_text(text, translator='alibaba', to_language='pt'))
# Saída: Python é uma linguagem para rebeldes.

# Ou DeepL (se o IP não estiver banido)
print(ts.translate_text(text, translator='deepl', to_language='pt'))


⚠️ Colher de alcatrão (não podia faltar):
Isso não é uma solução para produção de alta carga. É scraping.
Você será banido por IP se começar a fazer milhares de requisições por segundo (embora a biblioteca tenha cache de sessões preaccelerate).
As APIs das interfaces web podem mudar sem aviso, e você terá que esperar pela atualização do pacote.

Mas para análise de dados, coleta de datasets, bots ou ferramentas pessoais — é uma boa ferramenta que economizará muito dinheiro.

#opensource_útil