Seleccionar página

Multilingual-WordPressÚltimamente me encuentro mucho la situación de gente que necesita que su blog/sitio web en WordPress esté disponible en varios idiomas.

He visto intentos de hacerlo mediante “engaños” al blog, con páginas duplicadas y URLs visibles sólo en el idioma correspondiente. Es lógico que pensemos que esto puede funcionar con las páginas, pero con las entradas del blog tendremos más problemas, y además no nos funcionará el truco cuando queramos que tal o cual Widget aparezca traducido y muestre las entradas de un solo idioma, y demás.

Para solucionar todo esto, existen plugins que convierten nuestro sistema WordPress en páginas multilingües. Y aunque probablemente existan muchos más de los que aquí os propongo hoy, voy a hablar en concreto de los dos que conozco: Polylang y WPML.

Lo básico

Ambos plugins cumplen funciones básicas que nos vendrán muy bien a la hora de mantener un sitio en varios idiomas. Nos ofrecen de entrada la posibilidad de asignar un idioma a una entrada, página, o a un objeto de un tipo personalizado. Simplemente en nuestro panel de entradas veremos columnas nuevas referentes a los idiomas, que nos indicarán en qué idioma está la entrada, y si queremos añadir su entrada “hermana” en otro idioma.

Porque sí, también nos ofrecen la opción de que el sistema entienda que hay páginas “hermanas”, que son la misma página pero en distinto idioma. Esto es útil si estamos viendo una entrada o página, y pulsamos en la banderita de otro idioma. En lugar de ir a la portada de la web, nos mantendrá en la misma página, pero traducida.

polylangTambién nos ofrece la opción de que los Widgets aparezcan en todos los idiomas, o en uno concreto. Podemos añadir un Widget de “Últimas Entradas” y establecer que solo aparezca cuando estemos visitando la página en Español, por ejemplo. Evidentemente el funcionamiento del bucle principal de WordPress varía también. En los archivos, los widgets, y demás listas de entradas, en lugar de obtener todas, sólo obtendrá las del idioma en el que estemos actualmente

Si te preocupa qué hacer con los menús, deja de preocuparte. Como sabrás, puedes crear un menú y asignarlo a una zona concreta (si tu Theme lo admite). Los plugins te permiten establecer menús diferentes para cada idioma en una misma zona.

Y llegamos a la parte más compleja del asunto: las traducciones de cadenas. Ambos plugins pueden traducir tu Theme, siempre y cuando el Theme lo admita. Cuando en un Theme hay una cadena de texto “fija”, por ejemplo el título de una vista de Archivo, esta cadena debe estar correctamente adaptada para que pueda ser traducible:

WordPress entiende una serie de funciones de localización que permiten que los contenidos de Themes y Plugins sean traducibles mediante archivos externos (.po y .mo, que se editan con un programa llamado Poedit). De todo esto hablaremos en una próxima entrada, para no desviarnos hoy del tema que nos ocupa.

Por supuesto traen muchas más opciones y configuraciones que nos serán muy útiles.

Diferencias entre Polylang y WPML

La primera diferencia que te vas a encontrar entre ambos plugins de multilenguaje es que uno es gratuito y el otro no. Esto de entrada parece establecer un claro ganador en la disputa, pero yo creo que hay que considerar los pros y los contras.

Es cierto que Polylang, siendo gratuito, cubre la mayoría de necesidades que un sitio multilingüe necesita. Sin embargo, hay una cosa que no traduce y que podría darnos muchos problemas. Suponed que tenemos un tipo personalizado “Coches”, con su slug correspondiente, “/coches”. Pues bien, Polylang de forma nativa no da opción a traducir este slug. Tu web, en otros idiomas, seguirá mostrando en su url la palabra “/coches”, lo cual queda mal para la persona que lo está leyendo y para el SEO.

También hay que tener en cuenta que con Polylang necesitamos establecer, una a una, en una función de nuestro archivo functions.php o similar, todas las cadenas “fijas” de texto que tiene nuestro Theme, si lo que queremos es utilizar el módulo de traducción de cadenas que implementa en nuestro administrador. Hay que establecerlas con una función concreta de Polylang, y luego en el Theme, llamarlas con otra función concreta de Polylang, es decir, hay que readaptar todo el Theme. Por supuesto puedes usar las funciones de localización de WordPress y usar Poedit para traducir tu sitio, pero no será tan cómodo como traducir desde el administrador de WordPress (o sí, para gustos colores, a mi Poedit no me desagrada).

Nada de esto es así con WPML.

wpml_logoWPML es un conjunto de plugins. Uno de ellos permite traducir sin problema ninguno los slugs de tus tipos personalizados. Es más, si utilizais el plugin “Types” para vuestros tipos personalizados (ya sabéis que es el que yo suelo recomendar), es interesante saber que Types y WPML son del mismo equipo de desarrollo, y por tanto, se integran a la perfección.

En cuanto a traducción de textos fijos, WPML acepta las funciones de localización de WordPress y nos permite traducir las cadenas sin problema desde el administrador de WordPress. De hecho, muchos Themes vienen preparados para usarse con WPML. Si estáis pensando comprar un Theme, buscad esta característica para facilitarlos la vida.

El único problema… es que es un plugin de pago. En tres paquetes de 29, 79 o 195 dólares, el más conveniente es el segundo, 79$, pues ofrece toda la potencia de WPML con actualizaciones gratuitas y soporte durante un año (las renovaciones anuales serán de 39$ en lugar de 79 de nuevo). El paquete más caro es vitalicio.

Debo decir que alguna vez he usado el soporte técnico de ambos, tanto de Polylang como de WPML, y son gente muy preparada y dispuesta a ayudarte y solucionar tu problema. Al fin y al cabo, tu problema puede ser algo mal configurado por tu parte, o un bug por su parte, y les conviene encontrarlo y solucionarlo.

En resumen

Si no te importa usar Poedit o adaptar tu Theme/Plugin, y no necesitas traducir slugs de tipos personalizados, Polylang cumple perfectamente su función y es gratis. Es el más recomendado en este caso. Sin embargo, si tienes tipos personalizados o estás pensando crearlos, yo estudiaría comprar WPML, puesto que nos va a permitir más cosas que Polylang. Vosotros elegís.

Si conocéis algún plugin diferente a estos que permita más cosas, aquí abajo tenéis el cuadro de comentarios, os lo agradeceré mucho.

 

“La diferencia entre la teoría y la práctica es que, en teoría,
no hay diferencia entre la teoría y la práctica”

.- Richard Moore, desarrollador de KDE