MailPoet Newsletters en CodeStyling Localization

MailPoet Newsletters en CodeStyling Localization

A lo largo de la semana pasada nos hemos encontrado con dos situaciones en las que necesitábamos traducir algunos textos al español, en un plugin y en un tema de WordPress, y, en ambos casos, no era posible utilizar el plugin para WordPress Codestyling Localization.

Primer caso

El primer caso nos lo generó el plugin MailPoet Newsletters, el cual sólo muestra el idioma chino tradicional y un inmenso texto de error de compatibilidad generado por Codestyling Localization. Aunque revisamos el código fuente del plugin y tratamos de forzar la correcta aparición de los idiomas, no fue posible, por lo que finalmente tuvimos que utilizar el todopoderoso Poedit, donde nos encontramos con otro problema.

MailPoet Newsletters en Poedit sin textos traducidos

MailPoet Newsletters en Poedit sin textos traducidos

Tras descargarnos los archivos wysija-newsletters-es_ES.po y wysija-newsletters-es_ES.mo mediante FTP y al tratar de abrir el archivo wysija-newsletters-es_ES.po en Poedit, nos encontramos con que todos los textos en español están vacíos, por lo que no nos sirve absolutamente de nada esta aplicación.

¿Cómo solucionarlo?

Para solucionarlo vamos a utilizar una herramienta online creada por Kaspars Dambis. En http://tools.konstruktors.com/ nos encontramos con un conversor de archivos .mo a .po y de archivos .po a .mo, y si, vamos a usar ambos.

En primer lugar vamos a subir el archivo wysija-newsletters-es_ES.mo al conversor de archivos .mo a .po y nos descargamos un nuevo archivo wysija-newsletters-es_ES.po, el cual, ahora si, mostrará correctamente los textos en español en Poedit, y nos permitirá traducir o editar aquellos textos que necesitamos.

http://tools.konstruktors.com/

http://tools.konstruktors.com/

Una vez hemos terminado con la traducción o edición, guardarmos el nuevo archivo wysija-newsletters-es_ES.po y regresamos a http://tools.konstruktors.com/, donde ahora utilizaremos el conversor de archivos .po a .mo, lo que nos generará un nuevo archivo wysija-newsletters-es_ES.mo.

Una vez que tenemos los nuevos archivos .po y .mo modificados, sólo nos quedará volver a subirlos a su carpeta mediante FTP y el plugin utilizará los nuevos textos modificados.

Precauciones

Dado que hemos modificado los archivos originales .po y .mo en español de MailPoet Newsletters, debemos asegurarnos de que futuras actualizaciones del plugin no nos destruyan el trabajo realizado. Para ello debemos crear una nueva carpeta en la ruta /wp-content/languages, concretamente, en este caso particular, vamos a crear la carpeta wysija-newsletters, y allí vamos a guardar los mismos archivos que hemos creado y subido anteriormente.

MailPoet Newsletters en Poedit con textos traducidos

MailPoet Newsletters en Poedit con textos traducidos

Gracias a esta pequeña acción nos aseguramos de blindar nuestro trabajo.

Segundo caso

El segundo caso nos lo generó un tema de WordPress, concretamente The Company, que mostraba un mensaje de error al no existir ningún archivo de traducción.

¿Cómo solucionarlo?

En este caso, lo que hicimos fue crear una carpeta languages en la carpeta de The Company, /wp-content/themes/thecompany, y creamos y activamos un tema hijo de este.

The Company en CodeStyling Localization

The Company en CodeStyling Localization

Una vez creado el tema hijo, añadimos en su archivo functions.php el siguiente código PHP:

//Carga la carpeta de idiomas
function carga_idioma() {
    load_theme_textdomain( 'thecompany', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'carga_idioma' );

The Company y su hijo en CodeStyling Localization

The Company y su hijo en CodeStyling Localization

Tras lo cual el mensaje de error que se nos mostraba anteriormente desaparece y, ahora si, nos permite añadir el idioma español para poder traducir todos aquellos textos que necesitamos.

Precauciones

Dado que en este caso en concreto no existen archivos de idiomas previos, no debemos tener problemas con futuras actualizaciones, aún así, es bueno que guardemos una copia de seguridad de los archivos .po y .mo generados desde Codestyling Localization.

 

Esperamos que con estas pequeñas pautas de actuación podáis solucionar los no pocos problemas que la traducción de plugins y temas para WordPress nos genera, aunque, a buen seguro, ya nos contaréis vuestros casos particulares, así que esperamos vuestros comentarios.