Si tienes una página web en WordPress puede que en algún momento quieras o necesites traducirla a varios idiomas.
Para conseguir esto existen varios plugins de traducción para WordPress que te pueden ayudar a traducir de manera más o menos sencilla tu web -según el plugin que escojas- en pocos minutos.
Uno de los plugins más conocidos, y seguramente el más potente de todos, es WPML, pero este plugin no tiene versión gratuita, por lo que si quieres ahorrarte los 29$ que cuesta para una web, tienes otra opción llamada Polylang, el cual te ofrece una versión gratuita muy muy buena y una opción de pago con algunos extras interesantes.
¿Quieres conocerlo a fondo???
¡Allá que vamos!
Qué es Polylang, plugin para crear webs multilenguaje
Polylang es un plugin para crear páginas web en varios idiomas con WordPress.
Y fíjate bien, porque no he dicho que sea un PLUGIN DE TRADUCCIÓN.
Porqueeee…
Polylang NO es un traductor de páginas web.
Lo que hace este plugin es crear un sistema para poder clonar los contenidos de tu web en varios idiomas y que estén conectados entre sí.
Podrás disponer en los idiomas que tú desees CASI TODO, incluso elementos de WordPress como taxonomías, menús, widgets, etc.
Y digo CASI TODO porque en ocasiones hay «cosillas» que se le escapan.
Pero papá Edu está aquí para ayudarte y darte la solución a todos tus problemas.
Bueno, menos al problema que tienes con el vecino de tu comunidad, que yo ya tengo bastante con uno de la mía…
Mira…
Polylang soporta los idiomas más extendidos del mundo mundial, incluidos los idiomas RTL, que son los que se escriben al revés, o sea, de derecha a izquierda (Right To Left)…
Pero a ti, salvo que seas la niña de la peli «El Exorcista», no te va a hacer falta… 🙂
Algunos datos de Polylang
Polylang es el plugin de creación de webs multi idioma gratuito de WordPress más utilizado y destacado.
En el momento de escribir este post tiene los siguientes datos interesantes que seguro que te ayudan a decantarte por él para traducir tu web:
- +500.000 instalaciones activas.
- +1.300 valoraciones, de las cuales, +1.200 son de 5 estrellas.
- 35 idiomas: Albanés, Bielorruso, Bosnio, Búlgaro, Catalán, Chino (China), Croata, Danés, Holandés, Inglés (Australia), Inglés (Canadá), Inglés (Nueva Zelanda), Inglés (Sudáfrica), Inglés (Reino Unido), Inglés (EE.UU.), Esperanto, Finlandés, Francés (Francia), Gallego, Alemán, Griego, Italiano, Japonés, Lituano, Noruego (Bokmål), Occitano, Persa, Portugués (Brasil), Portugués (Portugal), Rumano, Eslovaco, Español (Chile) ), Español (España), Español (Venezuela) y Sueco.
¡¡¡De verdad alguien tiene una web en Esperanto!!!
En fin, seguimos…
Plugins de pago de Polylang
Polylang dispone de una versión de pago, por un precio de partida de 99€, que te ofrece más posibilidades que las ya de por sí buenas de la gratuita.
Estas son las opciones que te trae cada una de las versiones:
Plugins Polylang Pro para WooCommerce
Además de Polylang Pro a secas, el proveedor (WP Syntex) te ofrece otros dos plugins Pro para traducir tiendas online WooCoomerce:
- Polylang for WooCommerce: plugin para traducir una tienda WooCommerce con las opciones de Polylang Free. Precio: 99€.
- Polylang Business Pack: hace lo mismo que su colega de encima, pero en este caso, el plugin se combina con Polylang Pro y todas sus opciones. Precio: 139€.
Cada plugin incluye lo siguiente:
Tutorial de Polylang: cómo crear una página web multilenguaje
A continuación te voy a enseñar paso a paso todo lo que debes hacer para tener una página web multi idioma.
Instalación y activación de Polylang
Para añadir el plugin a tu web, solo tienes que ir a Plugins/Añadir nuevo dentro de tu WordPress y buscar por «Polylang» en el buscador superior.
También puedes descargarlo desde aquí y subirlo a tu web.
Luego solo tienes que instalarlo y activarlo.
Pan comido.
Opciones generales del plugin
Una vez tengas instalado el plugin, podrás encontrarlo en el menú general de WordPress con el nombre de «Idiomas».
A su vez, en este apartado podrás ver tres subapartados llamados Idiomas, Ajustes y Lingotek.
Una vez añadas tu primer idioma, se activará una nueva opción en el submenú llamada ‘Traducciones en cadena’.
Te explico todos un poco más abajo.
Configuración de los idiomas
En el primer subapartado nos encontramos con la configuración de los idiomas de la web.
Aquí tendremos que ir añadiendo los diferentes idiomas.
Una vez selecciones uno de ellos en el listado, se cubrirán por defecto todos los campos, los cuales podrás personalizar si lo deseas.
Yo te recomiendo dejar todo como está salvo el orden del idioma, si quieres que tengan un orden diferente al que se introduce por defecto.
El primer idioma que instales quedará marcado como predeterminado, algo que podrás cambiar posteriormente cuando añadas más idiomas.
Una vez instales tu primer idioma, Polylang te lanzará varios mensajes interesantes que conviene tener en cuenta.
- WooCommerce: si tienes instalado WooCommerce en tu web, Polylang te recomendará que instales también su plugin de pago Polylang para WooCommerce.
- Lingotek: si te apetece traducir automáticamente tu web, te sugieren su plugin gratuito Lingotek.
- Establecer idioma predeterminado: en el momento de la instalación, Polylang puede detectar que hay contenidos sin asignar a ningún idioma y te sugerirá hacerlo. Hazlo si es lo que quieres hacer, por supuesto.
Traducciones en cadena
Polylang añade una opción muy buena para poder traducir manualmente algunos datos de tu WordPress, el tema, WooCommerce, etc. que el plugin no sea capaz de traducir.
¡No es infalible, el pobre!
Ajustes de Polylang
En la pantalla de ajustes del plugin, podrás configurar las siguientes opciones:
- Modificaciones de URL: aquí podrás escoger cómo serán las URL de los contenidos de los diferentes idiomas: mostrando el prefijo de idioma, por el subdominio, mostrar/ocultar el prefijo de idioma en el idioma predeterminado, etc.
- Detectar el idioma del navegador: si marcas esta opción, tu web detectará el idioma del navegador del visitante y escogerá el idioma correspondiente para mostrar. Si ese idioma no existe en la web, se mostrará el predeterminado.
- Medios: esta opción es muy importante, pues si la dejas activa, tendrás que subir cada imagen tantas veces como idiomas tengas.¿Y esto para qué sirve, Edu?Si quieres trabajar a conciencia el SEO de las imágenes para cada idioma y poder añadir datos concretos para cada lengua (nombre de la imagen, URL, título y ALT), tendrás que tener una para cada traducción, ¿no? Pues sirve para esto.Yo siempre desactivo esta opción porque realmente es un engorro tener que subir todos los contenidos a la web varias veces. Lo que hago es trabajar el SEO de los medios en el idioma principal de la web.
- Tipos de contenido personalizado y taxonomías: si por ejemplo utilizas WooCommerce o Custom Post Types en tu web, con sus respectivas taxonomías (categoría, etiquetas, etc.), esta opción te permitirá escoger para qué tipos de esos contenidos quieres activar la traducción.
- Sincronización: esta opción te permitirá mantener iguales en todos los idiomas los metadatos que te apetezcan, como taxonomías, orden de página, fecha de publicación, imagen destacada, etc.
- Compatibilidad con WPML: esta opción te permite compatibilizar ambos plugins de traducción.
- Compartir slugs: permite mantener el mismo slug para las entradas y páginas. Esta opción solo la podrás utilizar si tienes la versión Pro del plugin.
- Traducir slugs: con esta opción podrás traducir los slugs de los Custom Post Types y sus taxonomías. Disponible solo si tienes la versión Pro del plugin.
- Herramientas: si tienes pensado eliminar el plugin de tu web y deseas eliminar también todos los datos de configuración, marca esta opción. Si no lo tienes claro, no la marques, y si vuelves a instalar el plugin, te recuperará todo el trabajo que hayas hecho.
- Claves de licencia: si dispones de la versión Pro del plugin, aquí podrás añadir la clave de la licencia.
Lingotek
Si deseas utilizar el plugin de traducción automática Lingotek, aquí podrás activar/desactivar algunas opciones.
Cómo crear el contenido del idioma principal con Polylang
Para crear el contenido del idioma principal de tu web, podemos hacerlo de dos maneras:
- Crear el contenido antes de activar el idioma: si tienes las páginas y entradas principales de tu web ya creadas en el momento de seleccionar un idioma en los ajustes del plugin, Polylang te preguntará si quieres asignar el idioma principal a todo el contenido. Hazlo si es lo que quieres hacer y te ahorrarás tener que hacerlo manualmente.
- Crear el contenido después de activar el idioma: si todavía no tienes el contenido creado en tu web cuando selecciones el idioma predeterminado, tendrás que hacerlo cuando lo tengas. Para ello, tendrás que entrar a cada página y entrada y, en el sidebar derecho del editor, verás una cajita de idiomas. En ella debes seleccionar el idioma predeterminado para cada caso.
Una vez tengas el idioma predeterminado seleccionado en todos tus contenidos, podrás ver un check que así lo indica en el listado de Entradas y Páginas.
Cómo crear traducciones de los contenidos con Polylang
Una vez tengas las páginas y entradas de tu web creadas existen dos maneras de crear sus «homólogas» en los demás idiomas:
- Clonar el contenido con el signo (+) desde el editor: entra en la entrada o página para la que deseas crear la traducción y en la cajita de idiomas del sidebar haz clic en el signo (+) del idioma que quieres agregar como traducción. Automáticamente se te abrirá un nuevo post que quedará vinculado al anterior post del idioma predeterminado.
También podrás utilizar el signo (+) para crear las traducciones desde la propia página del listado de Entradas o Páginas.
- Crear el contenido y vincularlo después a los demás idiomas: con este método podrás crear una entrada o página y después asociarle sus homólogas en otros idiomas a través de la cajita de idiomas del sidebar del editor. Para ello, solo tendrás que comenzar a escribir en el buscador el título del contenido del otro idioma que desees asociar y una vez te aparezca, lo seleccionas, actualizas el post y ¡listo!
Añadir las banderitas al menú de la web con Polylang
Uno de los elementos más importantes de una web multilenguaje es el sistema de banderitas para cambiar de uno a otro que normalmente (al menos es lo recomendable) aparecen en el menú principal o, como alternativa, en el menú secundario de algunos temas, como por ejemplo OceanWP.
Para ello, tendrás que ir a tu menú en Apariencia/Menús y verás que en la columna de «‘Añadir elementos al menú’ te aparece una opción llamada ‘Selector de idioma’. Lo lo añades al menú y ya tienes tu sistema de selección de idioma.
Ahora solo tienes que configurarlo a tu gusto para que aparezcan solo las banderitas o que lleven el texto también, que aparezcan en línea o como submenú, etc.
Traducir los menús de los diferentes idiomas con Polylang
Una web con varios idiomas necesita sí o sí crear un menú para cada uno de ellos, así los elementos del menú aparecerán en su idioma correspondiente y los enlaces llevarán a las páginas del idioma en cuestión.
Para ello solo tienes que crear un menú específico para cada idioma en Apariencia/Menús y añadir las páginas para cada uno.
Tras esto, solo tienes que indicar para qué idioma es cada menú.
Traducir los widgets con Polylang
Otros de los elementos que son susceptibles de ser traducidos son los widgets de WordPress, que son pequeños contenidos dependientes de algunos plugins que se pueden insertar en diferentes partes de nuestra web, como los sidebars, el footer, etc.
Traducir los widgets es muy sencillo.
Solo tienes que crear tantas copias del widget como idiomas tengas en tu web y asignar un idioma diferente a cada uno para que solo se muestre en ese idioma.
Vídeotutorial de Polylang
Aquí te dejo un vídeo en el que te muestro cómo crear una web en varios idiomas en poco más de 15 minutos:
Integración de Polylang y Elementor
Con Polylang podrás traducir los contenidos de prácticamente toda tu web, pero cojea un poco a la hora de integrarse con Elementor.
Concretamente lo que el plugin no es capaz de gestionar de momento son las plantillas de Elementor: Secciones, Páginas, etc.
Te muestro un ejemplo.
Imagina que quieres crear un header o un footer con la opción ‘Theme Builder’ de Elementor.
Pues aunque crees una copia para cada idioma, les asignes su idioma correspondiente y los vincules entre sí, Polylang no será capaz de interpretar cuál debe mostrarse en cada caso.
Para salvar este escollo existe un plugin llamado Polylang Connect for Elementor en el repositorio oficial de WordPress que en teoría permite utilizar plantillas de Elementor para diferentes idiomas.
Lo que ocurre es que parece ser que se han quedado un poco atrás tras las últimas actualizaciones de Elementor y no funciona del todo bien…
Para mí esto es una buena putada, pues en mi caso utilizo mucho las plantillas de Elementor y realmente es un coñazo no poder asociarlas correctamente a cada idioma.
Solución «trampeada» para utilizar plantillas de Elementor con Polylang
Tras mucho «prueba/error», al final la «solución» con la que me he quedado pasa por crear las plantillas para cada idioma en Elementor e insertar manualmente sus shortcodes a través de hooks en las páginas y/o entradas.
Es un método rudimentario porque es el mismo que si no hubiese diferentes idiomas, pero al menos podemos seguir adelante…
«Traducción» de plantillas de Archivo de Elementor
Las páginas de archivo en WordPress son aquellas que muestran una lista de contenidos todos juntos.
Los ejemplos más claros que te vendrán a la cabeza son el Blog y una Tienda online.
En ambos casos podrás ver una cantidad de posts en los cuales podrás clicar para acceder a cada uno de ellos.
Bien.
Haciendo pruebas para ver a fondo la integración (o no integración, mejor dicho) de Polylang con Elementor, me di cuenta de que crear plantillas de Archivo sí funcionaba, aunque no al 100%
Imagina que quieres maquetar el blog o la página de productos de WooCommerce con Elementor, para lo cual necesitarás utilizar la opción ‘Archive’ del maquetador visual…
El tema es que si creas una plantilla de Archivo para cada idioma, Polylang detectará automáticamente qué posts o productos debe mostrar en cada idioma de manera correcta.
¿Cómo se come eso, Edu? ¿No dices que Polylang no se integra con Elementor?
Así es, pequeño Padawan.
Lo que ocurre es que he llegado a la conclusión de que Polylang, en el caso de los Archivos, detecta el idioma de la página raíz (‘Blog’ o ‘Tienda’) y de los elementos que debe mostrar (posts o productos) y realmente se pasa por el arco del triunfo la integración de las plantillas en sí.
Pero Edu, si así tenemos las páginas de archivo traducidas, sí funciona.
Pues no.
Te pongo ejemplo…
Si añades manualmente en cada plantilla de Archivo de cada idioma el nombre de su página (Ejemplo: «Tienda» y «Shop»), ¡¡¡NO TE LO RESPETA!!! y la página de Archivo de todos los idiomas te mostrará ¡CON EL TÍTULO DE LA ÚLTIMA PÁGINA QUE HAS CREADO!
¿Cómo se come eso?
Pues ni puñetera idea… pero es evidente que la integración Polylang/Elementor es una carencia importante.
Otros plugins para utilizar con Polylang
Como te dije más arriba, Polylang es un plugin para crear páginas web en varios idiomas muy potente, pero a veces necesita alguna «colaboración» para llegar a todo…
A continuación te enseño algunos plugins que te pueden venir bien para integrar con Polylang:
Polylang y WooCommerce
Además de los dos plugins de pago para traducir WooCommerce que te he comentado arriba, existe algún otro gratis en el repositorio oficial de WordPress.
Para mí, esta es la mejor opción: Hyyan WooCommerce Polylang Integration.
Polylang y Loco Translate
Hace algunas actualizaciones atrás, Polylang no permitía realizar traducciones de cadenas de texto de WordPress, el tema, etc., pero ahora sí lo permite.
En caso de que detectes que Polylang no te detecta alguna cadena concreta, puedes utilizar como complemento el plugin Loco Translate, que es el mejor plugin para este cometido.
Migración de WPML a Polylang
Si por lo que sea estás pensando en cambiarte de WPML -que es de pago- a Polylang -que es Free- y no quieres perder la configuración general de WPML, puedes utilizar el plugin gratuito WPML to Polylang. para realizar una importación de los datos y no perder el trabajo ya hecho.
Traducción automática de tu web con Lingotek Translation
El propio plugin Polylang pone a tu disposición el plugin gratuito Lingotek Translation que puedes utilizar como alternativa «rápida» si no quieres matarte a traducir manualmente tu web.
¡Consejo final GRATIS!
A la hora de traducir tus páginas (no entradas) te recomiendo que tengas todas las páginas del idioma principal ya creadas y TOTALMENTE diseñadas con Elementor u otro maquetador visual, incluyendo las versiones responsive.
¿Por qué, Edu, por qué?, ¡te preguntarás!
Porque cuando dupliques tus páginas, Polylang respetará los diseños que hayas realizado con Elementor, así que ya no tendrás que cambiar nada.
Imagina que no tienes el diseño terminado (y validado si es un trabajo para un cliente) y tienes que cambiar algo… ¡pues tendrás que hacerlo tantas veces como idiomas tengas!
¡Vaya full de Estambul, eh!
Conclusión y opinión personal
Polylang es un plugin para crear páginas web en varios idiomas brutal.
Además es gratuito y eso es algo realmente a tener en cuenta.
Es muy fácil de utilizar y ofrece prácticamente todo lo necesario para traducir todos los contenidos de tu web.
Para que sea mejor, tienen que trabajarlo duramente para integrarlo con los diferentes maquetadores visuales del mercado. Sobre todo con Elementor, que es el más utilizado.
Así que ya sabes, si quieres crear una web con más de un idioma, Polylang es tu aliado perfecto.
Ahora quiero pedirte que me dejes aquí abajo 5 estrellitas si te ha gustado este post, que me dejes un comentario con tus impresiones, que lo compartas en tus perfiles sociales y que lo envíes por email a todos tus amigos 🙂
¿Es mucho pedir???
¡¡¡Peor es robar, jejeje!!!
Venga, que nos vemos…
Hasta luego, ata logo, agur, adéu, bye bye, au revoir, sayonara… ¡venga, ya!
Muchas gracias Edu, excelente post. Muy bien explicado todo ya voy a poner manos a las obras con este plugin a ver como me va. Saludos.
Me alegro de que te haya servido, Edwin 😉
Un saludo!
Hola,
Necesito usar el plugin solo para paises en español. Es posible usar el plugin para esa funcion?
Ademas, los buscadores indexan la pagina por cada pais que yo agregue, por ejemplo: google.cl, google.com.uy, google.py. Soy de Argentina y mi sitio esta indexado como .com
Hola Franco,
El plugin gestiona idiomas, no países, por lo que si utilizas los mismos textos para todos los dominios, tendrás un problema de contenido duplicado.
Dicho esto, el plugin puede trabajar con multisites de WordPress, que sería tu caso.
Un saludo.
Edu, muchas gracias por todo tu contenido, siempre me ayudan muchísimo. Quiero aprovechar para hacer la siguiente consulta. Usando Elementor y el respectivo plugin de integracion entre Elementor y Polylang, como haría para crear dos menús primarios?? La estructura del menú sería algo así por ejemplo: item1 – item2 – Logo – item3 – item4. Espero darme a entender con la estructura jajaja. El item 1 y el 2 sería un menu, y el item 3 y 4 serían otro menú. Entonces como hago para que ambos queden como menus en español??
Hola Galo,
Yo utilizo el tema OceanWP. Con él podrás crear ese tipo de menús y asignarlos a diferentes idiomas. Echa un ojo aquí: https://refrescandonegocios.com/oceanwp-tema-wordpress/
Espero que te ayude 🙂
Gracias por comentar!!!
Muchas gracias Edu, por tan excelente documento sobre Polylang. Lástima que nada más mencionó el plugin Hyyan Woocommerce y ya. Esté plugin que hace? Para que sirve realmente? Y más que quiero crear un negocio con woocommerce para ver si vendo por internet. Y por cierto si coloco woocommerce recomienda que puedo poner más de dos idiomas o no, porque con ésto se desconfigura mucho, se complica lo de la traducción en éste sector de los productos. Una vez más gracias enormente por ayudarme a crear mi página web con todos sus excelentes consejos y experiencia.
Hola Melania,
Hyyan sirve para adaptar WooCommerce para que sea multi-idioma y los productos, página de carrito, mi cuenta y otros elementos puedan ser creados para varios idiomas. Tienes aquí sus carácterísticas: https://es.wordpress.org/plugins/woo-poly-integration/
Por otro lado, te recomiendo poner la tienda en dos o más idiomas solo si vas a tener clientes de esas hablas. Si no es así, no lo hagas, pues tendrás que hacer todo por duplicado siempre y si no vendes lo suficiente, no te saldrá rentable el tiempo que vayas a dedicar.
Muchas gracias por comentar!!!
Un saludo y mucha suerte con tu proyecto.
Hola, tengo una duda con respecto a las plantillas tipo archive que uno crea, cree un custom post type y cree el archive como tal y cree la otra página para traducirla y todo, el caso es que en este archive no muestra la página traducida, elijo el idioma y me devuelve a la página de inicio, en el caso del blog si me sale a la perfección, pero con este creado nada, no me sale, el sutom post lo cree con jet engine, habrá alguna solución?
¿Has creado las plantillas de archivo con Elementor? Si es así, utiliza este plugin para la integración de ambos plugins: https://es.wordpress.org/plugins/connect-polylang-elementor/
Hola, tengo una duda, este plugin polylang también traduce todos los plugins wordpress desde la parte administrativa?
No, Álvaro. Para hacer eso te sugiero utilizar Loco Translate.
Hola Edu,
Siempre sigo tu totorial para traducir páginas con Polylang y me va genial, pero ahora con una web estoy teniendo el problema de que no aparece el selector de idiomas para poner las banderitas en el menú. No entiendo bien que porque no aparece, he probado quitar y volver a instalar el pluging y nada. ¿Alguna sugerencia de qué puede estar faltando/fallando?
Gracias!!!
Hola Jorgelina,
Recuerda que para que aparezcan las banderas, debes añadirlas al menú que quieras desde Apariencia > Menús.
Si sigue sin verse, prueba a desactivar los demás plugins y comprueba a ver si alguno está afectando. Si esto no ayuda, prueba a cambiar de tema temporalmente y comprueba de nuevo.
Espero que te ayude.