En el episodio 29 de Emprende con WordPress hablamos de los Idiomas en WordPress. Hay diferentes asuntos que tratar, no sólo el de crear una web multidioma que los usuarios puedan ver en diferentes idiomas. Voy a intentar arrojar un poco de luz sobre el tema para que no mezcles las cosas.
Pero antes de hablar de los idiomas en WordPress te pongo aquí los enlaces mencionados en la cabecera del podcast.
Enlaces mencionados en el episodio de hoy
Ahora sí, ¡vamos a por ello!
3 Escenarios distintos en los que están implicados los idiomas en WordPress
Cuando hablamos de idiomas en WordPress es necesario hacer una división muy simple para no mezclar las cosas:
- El idioma del sitio.
- Las cadenas de texto.
- La web multidioma.
Vamos a ver punto por punto. Y no me voy a pasar de técnico porque hay algunas partes que necesitan de un tutorial o una clase en vídeo para entender bien técnicamente como funciona.
El idioma del sitio
En el primer caso nos estamos refiriendo al idioma en el que está configurado nuestro WordPress. Y cuando digo WordPress me refiero a eso solamente: todas las páginas y menús de administración.
Es decir, el idioma del sitio en WordPress no cambia el idioma de los contenidos. Aunque si veremos que cambia el idioma en el que los plugins aparecerán en nuestra instalación.
En ajustes -> Generales podemos encontrar un menú donde cambiar el idioma del sitio en WordPress.
En este desplegable podremos ver los idiomas instalados y los disponibles.
Esto significa que de todos los idiomas disponibles a los que está traducido este software, tenemos instalado el que aparece ahí.
Idiomas instalados
Estos idiomas están disponibles para su uso inmediato. Si ahora mismo pinchas en uno de ellos y guardas los cambios tu WordPress cambiará a ese idioma.
Idiomas disponibles
Son los idiomas disponibles para traducir este software.
WordPress es utilizado a lo largo y ancho del mundo. Y su comunidad, como ya hemos contado en otras ocasiones, entre otras cosas se dedica a traducir tanto el CMS como plantillas y plugins.
Así que, la comunidad ha preparado una serie de idiomas que puedes instalar. Son los que aparecen como disponibles. Y si pulsas en ellos se instalarán y a partir de ese momento aparecerán como idiomas instalados que podrás seleccionar para cambiar el idioma de tu WordPress inmediatamente.
Cambio de idioma del sitio para un sólo usuario
También podemos cambiar el idioma del sitio para un usuario concreto en usuarios -> usuario x -> idioma del sito.
Por lo general tendrá el idioma predefinido para el sitio en Ajustes Generales. Pero ahora puedo elegir entre los idiomas instalados y cambiarle sólo a este usuario el idioma del sitio.
Esto es muy útil por ejemplo cuando tenemos una web multidioma (luego hablamos de ello) y tenemos un equipo de personas en diferentes países con diferentes idiomas que trabajan sobre la misma web.
La idea es que aunque el idioma del sitio sea el Español por defecto, cada uno de ellos lo vea en su idioma nativo para así entender bien todo el panel de administración.
Idioma de los plugins y themes y las cadenas de texto
Tanto plugins y themes tienen su propio idioma, normalmente el inglés por ser el más universal.
Pero habitualmente los desarrolladores traducen a varios idiomas sus softwares. De forma que hay plugins y themes que directamente están en diferentes idiomas.
Así que en muchas ocasiones instalamos un plugin (por ejemplo) y lo vemos directamente en nuestro idioma. Esto ocurre porque ese software detecta nuestro idioma del sitio y entonces hace uso de los archivos que han preparado para la traducción a ese idioma detectado.
En otras ocasiones, los desarrolladores no traducen sus softwares. Pero si están en el repositorio de WordPress la propia comunidad va traduciéndolos poco a poco como ya hemos comentado.
Cuando un theme o un plugin no está traducido al idioma que necesitas ni está en el repositorio, o está pero nadie lo ha traducido todavía, nos tocará traducirlo a nosotros. Ya sea total o parcialmente. Y esto lo podemos hacer con diferentes herramientas.
Al final, el idioma lo determinan los textos que hay dentro del código. A esto lo llamamos cadenas de texto. Por ejemplo, habrá una cadena de texto settings and options para indicar los ajustes del plugin (si hablamos de un plugins). Pues en principio ese texto aparecerá en inglés dentro del código.
¿Cómo lo traducimos?
Encontrando ese texto en el código y sustituyéndolo
Se podría hacer así, pero no tiene mucho sentido perder el tiempo buscando en el código. Sobre todo si tienes muchas cosas que traducir…
Si fuera un único detalle quizá utilizaría este método. Pero siempre con las buenas prácticas que me aseguren que al actualizar ese software no voy a perder los cambios.
¿cómo lo hacemos entonces?
Software especializado: Poedit
Existen programas como Poedit que sirven precisamente para encontrar y traducir esas cadenas de texto de forma sencilla.
Éste trabajo dará lugar a un archivo de idioma que subirás a tu servidor y quedarán traducidas todas esas cadenas de texto que estaban en el código.
Plugins como Loco translate, Genesis Translations y otros
Yo suelo utilizar uno de estos plugins para traducir más cómodamente todo.
Si tu proyecto está basado en Genesis, sólo con instalar Genesis Translations se traducirán el theme y los plugins que sean de Genesis. Directamente. Ventajas de Genesis Framework 😉
Si además de los de Genesis vas a utilizar otros plugins que necesiten de alguna traducción, entonces quizá sea mejor utilizar un plugin como Loco translate, que aunque no lo hace de forma automática, nos servirá para todos los themes o plugins que tengamos instalados.
Así que si utilizas Loco Translate, no utilices Genesis Translations y te ahorras un plugin.
Notas sobre la traducción de cadenas de texto
Antes de acabar este apartado de cadenas de texto, comentarte que pienses bien qué necesitas traducir. No siempre es necesario traducirlo todo.
En mi caso, siempre empiezo por el front end. Lo que ve el usuario. Ahí no debe quedar ninguna cadena de texto en otro idioma que no sea el nuestro si queremos tener un resultado verdaderamente profesional.
Y después, depende. Si el cliente va a tener acceso a la administración, quizá tengas que traducir también todas las cadenas de texto correspondientes a plugins o themes.
Pero si el cliente tiene un rol de autor y sólo va a añadir contenidos (por ejemplo) pues no hace falta que traduzcas las cadenas de texto de los plugins o themes porque no va a poder acceder a ellos y no los va a ver.
Crear una web multidioma
El último caso de los idiomas en WordPress son las webs multidioma.
Tener una web multidioma significa que los usuarios pueden ver toda la web (themes, plugins y contenidos) en otro idioma distinto al de partida.
Así, nuestra web se adaptará al idioma de la visita concreta.
Habrás visto que muchas webs, cuando entras, a pesar webs extranjeras están directamente en tu idioma. Eso es porque la web detecta el idioma de tu navegador y te muestra el contenido traducido a ese idioma.
Quizá también hayas visto webs con las típicas banderitas en el menú para elegir el idioma en que quieres ver la web.
Ambos casos son webs multidiomas. Y para crear una web multidioma necesitarás utilizar uno de estos métodos.
1.- Plugin para crear una web multidioma
Hay varias opciones en el mercado pero Polylang (gratuita) y WPML (de pago) son las más usadas. Yo me quedo con Polylang sin duda.
Estos plugins lo que hacen es crear nuevas instancias para cada parte que debe estar en otro idioma. Es decir, si se trata de una entrada por ejemplo, lo que hacen es crear esa entrada de nuevo para el idioma al que se va a traducir.
Pero luego hay que traducirlo claro. No es automático ni mucho menos. Y esto es importante porque es una duda muy común.
Para dejarlo más claro te pongo un ejemplo:
Pongamos que tu web está en español y quieres también que esté disponible en inglés. Pues tendrás que crear las versiones en inglés de todas las páginas, entradas, menús, urls, widgets… en definitiva de todos los elementos que deban mostrarse en otro idioma.
El plugin lo que hace es relacionar esos elementos con sus versiones en el idioma de origen. De forma que podremos cambiar entre un idioma y otro pero nuestro WordPress entiende que es el mismo contenido en otro idioma.
Esto es muy importante para Google también. Él está viendo la etiqueta de idioma en cada momento. Y no le gusta detectar textos en inglés en una web que le está indicando que el idioma es el español. Todo esto es más técnico y lo explicaré mejor en un curso o tutorial.
Pero quédate con la idea de que no puede haber textos en diferentes idiomas en una web sin utilizar uno de estos plugins. Google te penalizará si lo haces.
Como ves, esto del multidioma no es magia ni mucho menos. Es un currazo que te vas a pegar. Pero si tiene sentido merecerá la pena.
2.- Multisite con Multilingual Press
Es también una opción con plugin, pero he querido separarlo porque es un poco distinto.
En este caso, en vez de tener una sola web, tendremos dos webs bajo una misma instalación. Esto es un multisite: varias webs bajo una única instalación.
Bueno pues el plugin Multilingual Press enlaza los contenidos de un site con otro para cada idioma. Así tendríamos un site para cada idioma. Pero siempre todo administrado bajo un única instalación.
3.- Diferentes webs para cada idioma
Ésta última opción es la más sencilla de todas. No necesitarás ningún plugin para crear webs multidioma.
Simplemente se trata de hacer una web distinta para cada idioma. Aquí lo suyo sería que te hicieras con todos los dominios de los idiomas que quieres utilizar. El .es, el .uk, el .fr… etc
¿Qué metodo elegir?
Dependiendo del tipo de web, hacia donde va a escalar, que tipo de plugins utiliza y otros aspectos tendrás que elegir un método u otro para tener tu web en multidioma.
Por ejemplo, si tienes un blog de marca personal y quieres que sea multidioma te sobrará con usar el plugin polylang.
Pero si tienes un ecommerce con muchas extensiones lo mejor será utilizar un multisite o diferentes webs porque suele haber muchas incompatibilidades entre los plugins de traducción y los de Woocommerce.
Cada web es un caso distinto y te tocará valorar todo esto antes de ponerte a crear un sitio multidioma con WordPress.
Notas sobre las webs multidiomas
Lo primero de todo es tener claro por qué quieres un sitio multidioma. Tú o tu cliente. Muchas veces es pedir por pedir. Te lo digo por experiencia.
Queremos un sitio en diferentes idiomas cuando tenemos esa necesidad ya sea porque tenemos mercado en otro país con habla distinta, porque nuestra información es universal y para todos, porque es necesario para aumentar la confianza…
El caso es que si no tienes una necesidad real mi consejo es que no tengas tu web en diferentes idiomas. Cada idioma es multiplica el trabajo y complica las cosas más.
Por último, también ten en cuenta que muchos de estos plugins llevan ya la habilidad incorporada de traducir cadenas de texto. Así que si vas a usar uno de ellos te puedes ahorrar el plugin específico para traducir cadenas de texto.
Venga, vamos a dejarlo aquí. Seguro que tienes un montón de preguntas sobre todo este tema de los idiomas en WordPress.
Pues no te cortes, escríbeme aquí y pregunta. Sacaré las respuestas a tu consulta en el podcast.
Y hasta aquí el episodio de hoy. Muchas gracias por suscribirte al podcast, por tus valoraciones de 5 estrellas en iTunes, por darle al like o tus comentarios en Ivoox, por suscribirte en Spotify, por compartir en redes sociales, por estar ahí y por darle sentido a este proyecto 🙂