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.
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..
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 |
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.
Poedit, según Wikipedia, es un editor libre, abierto y ...
Suscribete y tendrás los más recientes posts en tu email
One Comment