GoPymes's Blog

Prepara tu plugin para traducción

traduccion

Quizás en diferentes códigos que haz revisado, haz notado que muchos imprimen sus mensajes usando funciones como __(‘hola’,’mi-dominio’) , _e(‘hola’,’mi-dominio’) , etc. Pues estos son funciones que indican que el plugin esta preparado para alguna traducción, para eso vamos a indicar los pasos a seguir para preparar tu plugin a la traducción.

Todo este concepto se llama localización y existen diferentes funciones que WP nos provee, pero vamos a ser directos y enfocarnos sólo al título del plugin.

Colocar en Español todo WP

Como ya todos saben, para traducir tu WP a español sólo debes editar wp-config.php , buscar la variables global WPLANG y asignar un valor del siguiente modo:

1
<?php define('WPLANG', 'es_ES'); ?>

Con eso, WP buscará en todos los plugins (y themes) su file de traducción del tipo .MO ,cada vez que entre a un plugin, revisará si este esta preparado para traducción, si lo esta, busca su traducción y lo muestra.

 Suena enredado verdad?, veamos entonces..

Preparar tu plugin para traducción

Debemos dejar listo algunos mensajes de tu plugin, lo colocaremos de este modo.

1
<?php echo __('Hello Word','gowc'); ?>

Como ves, el segundo parámetro se le llama dominio, y debemos recordarlo pues nos va servir en toda la traducción.

Recordemos que:

Función Explicación
__(‘Hello Word’,’gowc’) Así se usa del modo predeterminado, pero si te fijas, para que sea impreso necesita de un comando echo adelante suyo
_e(‘Hello Word’,’gowc’) Es lo mismo que arriba pero este ya no necesita echo delante, pues de por sí se imprime sola.
_x(‘Hello Word’,’contexto’, ‘gowc’) Esta forma añade un contexto el cual es información para el traductor que le indica o da pistas de que realmente trata la frase a traducir
_ex(‘Hello Word’,’contexto’,’gowc’) Es lo mismo que arriba pero este no necesita el comando echo para mostrarse, se imprime por sí mismo.
_n( ‘1 star’, ‘%s stars’, $rating, ‘gowc’ ) Muy útil si queremos mostrar singular y plural, frecuentemente va acompañado del comando sprintf
_nx( ‘1 star’, ‘%s stars’, $rating, ‘contexto’, ‘gowc’ ) Es lo mismo que arriba pero tiene un contexto el cual es información al traductor

 

Indicar a WP sobre tu archivo .MO

En tu index.php o mi-plugin.php debemos llamar a una acción el cual podremos decir a WP donde esta ubicado nuestro file de traducción y además cual es mi dominio.

1
2
3
4
function gowc_localization() {
load_plugin_textdomain( 'gowc', false, dirname( plugin_basename( __FILE__ ) ).'/languages/' );
}
add_action('plugins_loaded','gowc_localization');

Ahora WP ya puede ubicar tu file .MO y podrá traducir, recuerda que tus files deben llamarse midminio-es_ES.mo y para este ejemplo se llamaría gowc-es_ES.mo

Para la próxima publicación vamos a mostrar como crear un .mo usando POEDIT.

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *