googletrans-fixed: el cliente no oficial de Google Translate, mantenido funcionando
Biblioteca en Python que llama al servicio web de Google Translate para detect y translate, con detección automática de idioma, traducción en lote, URL de se…
On this page
googletrans-fixed: el cliente no oficial de Google Translate, mantenido funcionando
TL;DR
googletrans-fixedes una biblioteca en Python que habla con el servicio web de Google Translate, así que es gratuita e ilimitada por construcción — llama a los mismos servidores quetranslate.google.com.- Cuatro funciones hacen el trabajo: detección automática de idioma, traducción en lote, URL de servicio configurable y HTTP/2 mediante
httpx. - El truco de la biblioteca es el ticket: Google añadió un mecanismo de token para frenar a los programas de crawling, y la biblioteca genera ese ticket a partir del código cliente reconstruido a la inversa, que el README dice que puede bloquearse en cualquier momento.
- Nota honesta sobre el nombre: el README aquí es la documentación de la biblioteca original, y el
-fixeddel nombre del repositorio es una afirmación del repositorio, no algo que la documentación demuestre.
Qué es y para quién
googletrans-fixed es una biblioteca de traducción en Python, compatible con Python 3.6 o más nuevo. Implementa los métodos detect y translate contra la API Ajax de Google Translate, y su documentación es la del Googletrans original — por eso este artículo separa lo que afirma el README de lo que afirma el nombre del repositorio.
Es para quien necesita traducir un lote de cadenas dentro de un script y no quiere pagar una API de traducción, y para quien tuvo el googletrans instalado y roto y encontró tres copias del paquete en PyPI con fechas distintas.
Las funciones
- Rápida y confiable, por herencia. Usa los mismos servidores que usa
translate.google.com, y esa es la fuente tanto de la velocidad como de la fragilidad. - Detección automática de idioma. Si no se da el idioma de origen, la biblioteca pide a Google que lo detecte.
- Traducción en lote. Una lista de cadenas va en una llamada y no en una petición por cadena.
- URL de servicio configurable. El endpoint puede apuntar a otro sitio, lo que importa detrás de un proxy o un espejo regional.
- Soporte de HTTP/2. Las peticiones pasan por
httpx, así que HTTP/2 funciona por defecto, y el README muestra cómo comprobarlo con._response.http_versionen un objetoTranslatedoDetected.
Por qué necesita un ticket
La explicación del README es la parte interesante. Otros enfoques como goslate dejaron de funcionar porque Google actualizó su servicio de traducción con un mecanismo de ticket para frenar a los programas de crawling. La biblioteca genera ese ticket reconstruyendo a la inversa el JavaScript ofuscado y minificado que Google usa, y lo implementa en Python.
La consecuencia honesta está en el mismo párrafo: eso puede bloquearse en cualquier momento. Una biblioteca de traducción construida sobre un token reconstruido es una biblioteca con dependencia de una página que nadie prometió mantener estable — que es exactamente por qué existen copias parcheadas.
Instalar y usar
pip install googletrans
El README también acepta descargar el paquete y poner el directorio googletrans en el PYTHONPATH. El uso básico es un objeto translator, una llamada translate y un resultado Detected o Translated; cuando se omite el idioma de origen, la detección ocurre primero.
Cuándo usarla, cuándo no
Úsala cuando necesites traducción gratuita de un lote de cadenas dentro de un script, cuando una API de pago sea exceso, o cuando quieras una instalación sin dependencias pesadas para una herramienta pequeña.
No la uses para nada con expectativa de nivel de servicio: valen los límites del propio README — un ticket que puede bloquearse en cualquier momento, el soporte de proxy listado como pendiente y la gestión de sesión para traducción en lote también pendiente. Y no la uses para una traducción con valor legal; es el mismo endpoint web que usa el navegador, sin garantía detrás.
Sources
- googletrans-fixed — repositorio — el repositorio publica la biblioteca con la documentación del Googletrans original en
README.rst. - README.rst — funciones, nota de HTTP/2, la explicación del ticket, instalación, uso, pendientes.
Página del proyecto: googletrans-fixed
FAQ
¿Cómo funciona sin clave de API? Llama a la API Ajax de Google Translate, los mismos servidores que usa translate.google.com, generando el ticket que produce el código cliente de Google.
¿Tiene soporte de HTTP/2? Sí. Las peticiones pasan por httpx, así que HTTP/2 funciona por defecto, y el README muestra cómo comprobarlo en el objeto de respuesta.
¿Detecta el idioma de origen? Sí. Si no se da el idioma de origen, la biblioteca pide a Google que lo detecte.
¿Cuáles son los límites conocidos? El README lista el soporte de proxy y la gestión de sesión para lote como pendientes, y avisa de que el ticket reconstruido puede bloquearse en cualquier momento.