
PolyLingo vs Polylang: ¿cuál es la diferencia y cuándo usar cada uno?
By Robert M
PolyLingo vs Polylang: cuál es la diferencia y cuándo usar cada uno
Si has llegado aquí, probablemente estés en una de dos situaciones: estás contento con Polylang dentro de WordPress pero te preguntas si hay algo equivalente para un proyecto que no está en WordPress, o estás migrando completamente fuera de WordPress y tratando de entender qué pasa con tu configuración multilingüe.
Esta publicación responde ambas preguntas directamente. Cubriremos qué hace realmente cada herramienta, dónde encaja cada una y cómo elegir entre ellas.
Qué es Polylang (y qué no es)
Polylang es un plugin de WordPress. Es uno de los mejores plugins multilingües en el ecosistema de WordPress. Gestiona los conmutadores de idioma, te permite crear versiones traducidas de publicaciones y páginas, maneja etiquetas hreflang e integra limpiamente con el editor de bloques de WordPress. Si tienes un sitio WordPress, es una herramienta seria y bien mantenida y hay una buena razón por la que tiene millones de instalaciones activas.
La limitación está justo en la descripción: es un plugin de WordPress. No tiene una API que puedas llamar desde fuera de WordPress. No tiene concepto de un archivo de localización JSON, un archivo de contenido Markdown o una plantilla HTML en un proyecto Next.js. Todo su modelo asume que el contenido vive en la base de datos de WordPress y es renderizado por WordPress.
Esto no es una crítica. Es simplemente el alcance de la herramienta.
Qué es PolyLingo
PolyLingo es una API de traducción. Le envías contenido (texto plano, Markdown, JSON o HTML) y devuelve versiones traducidas en todos los idiomas que pidas, en una sola solicitud. No tiene opinión sobre tu CMS, tu framework o tu configuración de despliegue. Funciona dondequiera que puedas hacer una solicitud HTTP.
El objetivo principal de diseño es la preservación del formato. La mayoría de las APIs de traducción están construidas alrededor de oraciones: envías una cadena, recibes una cadena de vuelta. Ese modelo falla rápidamente cuando tu contenido tiene estructura. Pega un archivo de localización JSON en un servicio típico de traducción y obtendrás nombres de claves traducidos, delimitadores corruptos o texto donde antes había un objeto. PolyLingo trata la estructura como intocable. Solo cambian los valores de cadena; todo lo demás vuelve exactamente como fue enviado.
Un ejemplo concreto. Envías esto:
{"btn": {"save": "Save", "cancel": "Cancel"}}
Un traductor orientado a oraciones podría devolverte:
{"button": {"save": "Guardar", "cancel": "Cancelar"}}
La clave btn se convirtió en button. Eso romperá tu aplicación. PolyLingo te da:
{"btn": {"save": "Guardar", "cancel": "Cancelar"}}
Las claves intactas. Solo los valores traducidos.
El mismo principio se aplica a Markdown (los encabezados permanecen encabezados, los bloques de código se dejan tal cual, las URLs de los enlaces no cambian) y HTML (las etiquetas y atributos se preservan, solo se traducen los nodos de texto y los atributos apropiados).
La diferencia real: alcance
La forma más simple de decirlo:
Polylang gestiona contenido multilingüe dentro de WordPress. Es una capa CMS. Maneja qué publicación es la versión en español de qué publicación en inglés, genera conmutadores de idioma y mantiene las traducciones sincronizadas cuando actualizas contenido.
PolyLingo traduce contenido estructurado a través de una API. Es una capa de traducción. Le das contenido, devuelve traducciones. Qué haces con esas traducciones depende de ti.
Resuelven problemas adyacentes, no el mismo problema. Por eso la comparación no es realmente "cuál es mejor" sino "qué problema tengo".
Cuándo usar Polylang
- Tu sitio funciona en WordPress y quieres quedarte en WordPress
- Necesitas un flujo de trabajo de gestión de contenido: editores que cambian entre versiones de idioma, seguimiento del estado de la traducción, conmutadores de idioma en el tema
- No eres desarrollador y quieres una solución guiada por UI
- Usas WooCommerce y necesitas que la traducción de productos se gestione dentro de WordPress
Polylang es excelente en todo esto. Si WordPress es tu stack, es la herramienta correcta.
Cuándo usar PolyLingo
- Estás construyendo con Next.js, Nuxt, SvelteKit, Astro o cualquier otro framework que no sea WordPress
- Usas un CMS headless (Contentful, Sanity, Prismic) y necesitas traducir contenido en el momento de publicación o vía webhook
- Tu contenido está en archivos de localización JSON que necesitan ser traducidos sin corromper la estructura de claves
- Estás migrando fuera de WordPress y quieres llevar tu flujo de trabajo multilingüe contigo
- Tienes contenido Markdown (posts de blog, documentación, descripciones de productos) y necesitas versiones traducidas que no rompan el formato
- Quieres traducir a múltiples idiomas en una sola llamada API en lugar de hacer una llamada por idioma
El endpoint /translate de PolyLingo acepta un array targets, así que una solicitud puede devolver los 36 idiomas soportados a la vez. Para un archivo de localización que debe enviarse en diez idiomas, eso es una llamada API en lugar de diez.
¿Y qué pasa con la migración desde WordPress?
Si estás moviendo un sitio WordPress a una configuración headless o estática, tu contenido Polylang no viene automáticamente contigo. Las traducciones se almacenan como metadatos de publicaciones de WordPress y no se exportan limpiamente a archivos Markdown o estructuras JSON.
El camino práctico que la mayoría de los equipos sigue:
- Exporta tu contenido WordPress a Markdown o JSON (herramientas como
wordpress-export-to-markdownmanejan la parte mecánica) - Usa PolyLingo para traducir el contenido exportado a tus idiomas objetivo
- Almacena los archivos resultantes en tu nueva estructura de contenido junto con el idioma fuente
El endpoint batch de PolyLingo (POST /translate/batch) está hecho para esto. Puedes enviar hasta 100 ítems de contenido en una sola solicitud, cada uno con su propio formato, todos compartiendo el mismo conjunto de idiomas objetivo. Para una migración de sitio con cientos de páginas, esa es la herramienta adecuada.
Resumen lado a lado
| PolyLingo | Polylang | |
|---|---|---|
| Funciona sin WordPress | Sí | No |
| Preservación de formato (JSON, Markdown, HTML) | Sí | Solo contenido WordPress |
| Una solicitud, todos los idiomas | Sí | No |
| Acceso REST API | Sí | No |
| UI de gestión de contenido | UI de traductor (sin código) | Administración completa de WordPress |
| Detecta automáticamente el formato de contenido | Sí | N/A |
| Soporte para idiomas RTL | Sí | Sí |
| Facturación basada en uso | Sí | Plugin gratuito / tarifa fija Polylang Pro |
La versión corta
Si estás en WordPress y te quedas en WordPress: usa Polylang. Está construido para ese entorno y es bueno en ello.
Si estás fuera de WordPress, saliendo de WordPress o construyendo cualquier cosa que no sea WordPress: PolyLingo te ofrece el mismo flujo de trabajo multilingüe estructurado a través de una API que funciona con lo que sea que estés construyendo.
Las dos herramientas también pueden coexistir. Algunos equipos usan Polylang en su sitio principal de marketing (que permanece en WordPress) y usan PolyLingo para su sitio de documentación, las cadenas UI de su aplicación web o sus plantillas de correo electrónico. El flujo de trabajo es el mismo; la pila no tiene que serlo.
Pruébalo
El nivel gratuito de PolyLingo incluye 100,000 tokens por mes. Eso es suficiente para varios posts de blog en diez idiomas, o un archivo de localización de tamaño medio en 36 idiomas. No se requiere tarjeta de crédito.
curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
-H "Authorization: Bearer $POLYLINGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "# Welcome\n\nTranslate **any format** without breaking the structure.",
"format": "markdown",
"targets": ["es", "fr", "de", "ja"]
}'