Polyglot
Las cadenas de tu app y tu sitio en 43 idiomas, traducidas por tu propio modelo y revisadas cadena por cadena.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

Qué hace
Polyglot toma las cadenas en inglés que tu app y tu sitio ya tienen y las escribe en hasta 42 idiomas más, en los archivos y carpetas que espera cada plataforma, usando un modelo que ejecutas tú mismo. Cada cadena vuelve verificada: si se pierde un marcador de posición, una etiqueta o un nombre que conservas, o si la respuesta no está en el alfabeto del idioma, se vuelve a pedir la cadena, y una cadena que sigue fallando se deja fuera y se informa en lugar de enviarse rota.
- Los formatos que usas. Archivos de mensajes JSON (i18next, vue-i18n, next-intl, react-intl), ARB de Flutter, strings.xml de Android, .strings de Apple, .po de gettext y documentos Markdown, escritos en values-de, de.lproj, app_de.arb o locale/de.
- Verificado cadena por cadena. %1$s, {name}, {{count}}, etiquetas HTML, saltos de línea, URLs y tus nombres conservados deben volver exactamente; el alfabeto correcto, sin respuestas vacías ni descontroladas, nada dejado en inglés.
- Formas plurales reales. El ruso tiene uno, pocos, muchos y otros; el árabe, seis formas; el japonés, una sola forma: los plurales de Android y los mensajes ICU siguen las reglas propias de cada idioma.
- Solo lo que cambió. Cada buena traducción se recuerda, así que editar una cadena en inglés envía una cadena, no el archivo completo.
- Tu tono y tus términos. Una descripción del producto, un tono, nombres que nunca se traducen y un glosario van en cada solicitud, y tus comentarios viajan como notas.
- Tu modelo, tu máquina. Cualquier servidor compatible con OpenAI: vLLM, llama.cpp, Ollama o LM Studio, o una API alojada si lo prefieres. Sin factura por palabra.
Probado con un modelo real
- Un modelo real, seis formatos, cinco scripts: una app de ejemplo con 70 cadenas en JSON, Flutter ARB, Android, Apple .strings, gettext y Markdown, traducidas al alemán, ruso, japonés, árabe y español, con un modelo Qwen abierto (Qwen3.8-Flash-Next, cuantizado a 4 bits) servido por vLLM en nuestra propia máquina: 346 de 350 cadenas pasaron sus comprobaciones de entrada en 7,5 minutos en un servidor compartido con carga.
- Las cuatro que no pasaron fueron errores en nuestras comprobaciones, no del modelo: un préstamo del alemán, una dirección de correo electrónico y un mensaje plural en japonés. Corregimos las comprobaciones; la siguiente ejecución envió solo esas cuatro cadenas y escribió las 350 en 45 segundos.
- Formas plurales correctas a la primera: uno, pocos, muchos y otros para el ruso, seis formas para el árabe, una sola para el japonés.
- Los 42 idiomas: las 22 cadenas web del ejemplo a todos los idiomas que Polyglot conoce, desde amárico hasta chino tradicional: 924 de 924 cadenas escritas, en 15 minutos.
- Y lo que las comprobaciones no ven: en jemer, "You are offline" se tradujo como "you are online". Es un jemer impecable, así que pasó. Por eso la documentación pide un hablante nativo para las cadenas más importantes.
Qué incluye
El traductor
Lotes a tu modelo, comprobaciones, reintentos con el problema identificado, una memoria de traducción, idiomas en paralelo.
Seis formatos
Lectores y escritores que conservan las secuencias de escape, carpetas y reglas de plural de cada plataforma.
Las comprobaciones
Usables por separado: comprueba una traducción que ya tengas contra su fuente en inglés.
Una app de ejemplo
Una app pequeña en los seis formatos con su configuración, para probar antes de usar la tuya.
Requisitos
- Linux o macOS con Python 3.9 o posterior; nada que instalar desde pip.
- Un servidor de modelos compatible con OpenAI con un modelo de instrucciones multilingüe; el nuestro es un modelo Qwen abierto (Qwen3.8-Flash-Next, cuantizado a 4 bits).
Conviene saber
- Las comprobaciones detectan lo que rompe una app, no el significado erróneo: que un hablante nativo lea tu ficha de producto, muro de pago y textos legales.
- Las entradas de plural de gettext permanecen en inglés en esta versión.
- La velocidad depende de tu modelo.
- Las comprobaciones son gratuitas y de código abierto: translation-checks en GitHub. El kit añade el traductor, los seis formatos, las formas de plural, la memoria y un año de actualizaciones.
De nuestras notas de campo
Preguntas
¿Qué idiomas?
Árabe, amárico, búlgaro, checo, alemán, griego, español, persa, finés, filipino, francés, gaélico escocés, hebreo, criollo haitiano, húngaro, armenio, indonesio, italiano, japonés, jemer, canarés, coreano, macedonio, malayo, neerlandés, noruego, oromo, punyabí, polaco, portugués (Brasil), rumano, ruso, eslovaco, esloveno, serbio, sueco, tailandés, turco, ucraniano, vietnamita y chino, simplificado y tradicional, desde inglés.
¿Necesita una GPU?
Polyglot no; tu servidor de modelos decide. Un modelo pequeño funciona en CPU, lentamente; una GPU convierte un archivo grande en muchos idiomas en cuestión de minutos.
¿Qué pasa con una cadena que el modelo traduce mal?
Se vuelve a pedir por separado, indicando el problema. Si sigue fallando, se excluye del archivo, de modo que tu app muestra el inglés para esa cadena y la ejecución la lista con el motivo. No se escribe nada roto.
¿Puedo usar una API alojada en su lugar?
Sí: cualquier servicio con un endpoint de chat compatible con OpenAI. Pon su URL base y el nombre del modelo en polyglot.json y su clave en un archivo.
Actualizado: