🏴‍☠️ Traducción de textos: gratis, furiosa y sin claves API

Si alguna vez has intentado integrar la traducción de texto en tu proyecto personal o parser, conoces este dolor. Google Cloud Translation oficial requiere vincular una tarjeta y cuotas, DeepL API es excelente pero caro (y complicado de pagar desde Rusia), y escribir tu propio scraper para la interfaz web del traductor es un infierno garantizado con generación de tokens (tk), firma de solicitudes y cambios constantes en el diseño.
Pero existe translators — una biblioteca que hace este trabajo por ti.
Es un agregador que (básicamente mediante ingeniería inversa) accede a las interfaces web de más de 30 servicios de traducción.

Qué hay bajo el capó:

1️⃣ Surtido. Además de los comunes Google/Bing/Yandex, incluye DeepL (mejor calidad para idiomas europeos), Baidu/Alibaba (para chino) e incluso cosas específicas como VolcEngine.

2️⃣ Amigable con HTML. La función translate_html puede traducir contenido sin romper la estructura de las etiquetas.

3️⃣ Omisión inteligente. Soporta diferentes clientes HTTP: requests, httpx, niquests e incluso cloudscraper. Si un método es bloqueado por huella digital, puedes cambiar a otro directamente en los argumentos.

4️⃣ Magia JS. La biblioteca ejecuta el JavaScript necesario (a través de exejs) para generar las firmas de las solicitudes. Sí, para esto necesitas tener Node.js en el sistema, pero es un pequeño precio a pagar por la gratuidad.

🧑‍💻 Cómo se ve en el código:

import translators as ts

text = "Python is a language for rebels."

# Usamos el motor Alibaba
print(ts.translate_text(text, translator='alibaba', to_language='es'))
# Salida: Python es un lenguaje para rebeldes.

# O DeepL (si la IP no está baneada)
print(ts.translate_text(text, translator='deepl', to_language='es'))


⚠️ La parte negativa (no podía faltar):
Esto no es una solución para producción de alta carga. Es scraping.
Te banearán por IP si empiezas a hacer miles de solicitudes por segundo (aunque la biblioteca tiene almacenamiento en caché de sesiones preaccelerate).
Las API de las interfaces web pueden cambiar sin previo aviso, y tendrás que esperar a que se actualice el paquete.

Pero para análisis de datos, recopilación de conjuntos de datos, bots o herramientas personales, es una buena herramienta que te ahorrará mucho dinero.

#buen_open_source