Preparar plugins WordPress para traducción

Hace tiempo que vimos cómo preparar temas WordPress para traducción, pero también los plugins adquieren mayor popularidad, y a fin de cuentas son más útiles para todo tipo de usuarios si vienen preparados para traducción. En un mundo tan globalizado no tiene sentido restringir la popularidad de un plugin a solo el idioma de unos cuantos, por muchos que sean ¿no?.

El proceso, similar en algunos aspectos, al de los temas, pasa por una buena serie de pasos, que añaden tarea a la publicación definitiva del plugin pero que, sin duda, hará que tu plugin sume muchos puntos a favor de la comunidad de usuarios de WordPress.

Internacionalización frente a localización

Antes de que puedas internacionalizar tu plugin debes saber lo que esto significa. También conocido como i18n, significa modificar el plugin para que personas de otras lenguas puedan fácilmente usar tu plugin.

La localización es el proceso puro y duro de modificar el plugin a otro idioma. Sin embargo, internacionalizar conlleva mucho más que simplemente traducir la interfaz del plugin. Por ejemplo, uso de sistema métrico o unidades anglosajonas, signos de puntuación para separar millares, y todas esas particularidades.

Aunque la guía siguiente está orientada a la localización no olvides esos factores adicionales, para tenerlos en cuenta.

Dominios e inicialización

Localizar tu plugin significa que tienes que disponer de un dominio de texto, manteniendo cada uno separado del resto que usa WordPress u otros plugins. Da igual lo que quieras usar como dominio de texto pero elige algo único, a ser posible que esté relacionado con tu plugin.

Antes de localizar completamente tu plugin tendrás que decirle a WordPress cómo puede encontrar sus cadenas de texto. Si el código no existe ya tendrás que insertar algo como esto:

Este código se comunica con WordPress y le dice que use la función llamada miFuncion cuando se cargue. Luego, esta función le dará a WordPress el nombre de tu dominio de texto y le enseñará como puede cargar las cadenas de texto localizadas, algo así:

La función WordPress load_plugin_textdomain informa a WordPress que hay un dominio de texto llamado midominiodetexto, y que los archivos que tienen las cadenas localizadas están en la carpeta del servidor wp-content/plugins/miplugin. Por supuesto, las convenciones usadas en este artículo deberás cambiarlas por tu ruta de carpeta, nombre de dominio de texto, nombre de función, etc, creo que ya lo imaginabas pero nunca está de más recordarlo.

Preparando las cadenas

Después de la inicialización tendrás que cambiar las cadenas estáticas por una función que permita a WordPress utilizar la versión localizada adecuada de esa cadena. Más que nada para que WordPress no use el idioma erróneo.

Esta función ofrece un nombre corto que facilita la internacionalización: la función con doble barra baja __(cadena, dominio). La función tiene dos parámetros, el primero es la cadena que el plugin usa por defecto si no hay una versión localizada disponible, y el segundo parámetro es el mismo dominio de texto que elegiste en el código anterior.

Antes de ponernos con este paso nuestro código sería así:

Y después quedaría de este modo:

Localización

Una vez hechos todos los preparativos anteriores ya estarás preparado para el proceso real de hacer que tu plugin WordPress esté disponible en varios idiomas.

Crear una localización para tu plugin requiere fabricar un fichero .po, con nombre similar al archivo de tu plugin, y con los códigos ISO 639 de dos letras para cada país e idioma. Por ejemplo, si tu plugin se llama “miplugin” y quieres localizarlo al Español de España tendría que llamarse así el archivo: “miplugin-es_ES.po”

Aunque el codex de WordPress ofrece herramientas que pueden ayudar a la localización a menudo es mejor simplemente tirar del fichero .po de otro plugin como base. Los archivos .po están hechos con una cabecera sencilla y luego las parejas de traducción:

El msgid es la cadena estándar que aparece en la función de doble barra baja que definiste. Una vez creado el archivo .po puedes usar cualquier herramienta para crear los archivos .mo, que es el otro archivo que WordPress requiere para la traducción, y en realidad el único que leerá para hacerla. Personalmente te recomiendo que uses PoEdit, que además es multiplataforma.

Deja que ayuden otros traductores

Nadie conoce todos los idiomas, al menos nadie que yo conozca, así que si quieres expandir la popularidad de tu plugin lo mejor es aumentar tus recursos y permitir que otros traduzcan tu plugin.

Ahora bien, esto requiere un procedimiento especial para generar los archivos necesarios que ofrecer a los traductores, ya que no vas a pasarles el código fuente para que, por error, rompan algo que no deban ¿no?, que ser traductor no significa que también sean programadores.

El archivos que tendrás que dar a los traductores es un archivo POT, que es más o menos así:

Hay dos maneras de crear este archivo. Si ya subiste tu plugin al repositorio ve a la página de administración y elige “Generate POT file”. Este archivo es el que enviarás a los traductores para que traduzcan el plugin. Si quieres, a veces es buena idea también enviarles el plugin completo por si les surgen dudas de donde va cada cosa, de manera que puedan instalarlo e ir viendo los cambios tras la traducción.

Si aún no tienes el plugin en el repositorio puedes ir al directorio de herramientas i18n de WordPress y usar el script makepot.php de este modo:

Eso si, tendrás que instalar el paquete de utilidades de internacionalización de GNU en tu servidor antes de ejecutar este comando.

¡A probarlo!

Cuando ya tengas todos los archivos localizados en su lugar es hora de probarlos y comprobar si todo va bien o se te pasó algo.

Para probar la localización lo único que tienes que hacer es cambiar una línea el archivo de configuración de WordPress para decirle que use un idioma distinto, y así comprobar que hemos localizado bien el plugin.

Así que abre el archivo wp-config.php y localiza esta línea:

Y la cambias al código de país para el que has preparado para localización tu plugin, por ejemplo pt_PT (portugués de Portugal):

Activa el plugin y comprueba que todas las cadenas de texto se han traducido automáticamente al nuevo idioma definido. Si es así ya puedes devolver esa línea anterior a como estaba.

Y ya, no hay mucho más acerca de internacionalizar plugins. Si lo has hecho ya cuéntanos tu experiencia, o trucos que nos ayuden a todos.

AVISO: esta publicación es de hace dos años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

VALORA ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
FlojitoNo está malEstá bienMe ha servidoFantástico (5 votos, promedio: 5,00 de 5)
Cargando…

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

Pin It on Pinterest

Share This
Ir al contenido