Preparar WordPress para su traducción

Home » Blog » Preparar WordPress para su traducción

Cuando creamos un tema, un plugin o un widgets de WordPress, debemos pensar que en ocasiones lo usarán en instalaciones que requieran tener varios idiomas, y por eso es importante preparar nuestros desarrollos pensando en que sean fáciles de traducir.

Funciones WordPress de traducción

Para ello, Wordpress cuenta con las siguientes funciones:

$cadena=__('texto a traducir','mi-plugin');

Es un doble guión bajo, que permite 2 parámetros.  El primero es el texto a traducir y el segundo es el nombre clave para saber de donde extraer la traducción. De esta forma, ya podremos usar el sistema de traducciones de WordPress. De forma resumida consiste en un fichero, por idioma, en donde se coloca el texto del primer parámetro y su traducción para el idioma del fichero.

//Ejemplo de un fichero de traducción, mi-plugin-es_ES.mo
msgid "Previous post:"
msgstr "Entrada anterior:"

Este ejemplo no muestra el resultado por pantalla, así que es necesario almacenarlo en una variable.

_e('texto a traducir','mi-plugin');

Funciona igual que el anterior pero en este caso muestra el valor en pantalla.

Printf(_e('tengo %1$s años y me llamo %2$d','mi-plugin'), $número, $texto);

Sí en el texto a traducir tenemos variables debemos usarlo de esta forma. Así sea cual sea el idioma podremos traducirlo sin problemas, ten en cuenta que en los idiomas es posible que cambien el orden de las palabras y variables. Pero en la traducción, de esta forma, podremos hacer referencia a las variables en cualquier lugar u orden.

Printf(_n('Tienes %1$d comentario','Tienes %1$d comentarios',$count,'mi-plugin'), $count);

Esta es una versión pensada por si en función de un valor ($count) hay que mostrar texto en plural o singular.

_x('texto','explicación','mi-plugin');

En esta última opción podemos explicar la cadena, se usa cuando puede a ver dos cadenas iguales pero que se traduzcan de forma diferente. Es posible que en un idioma se diga de la misma forma 2 cosas diferentes pero en otros se usen términos diferentes y se necesita entender su significado en cada caso.

Identificar las traducciones

Finalmente es necesario enlazar el código establecido en las cadenas de traducción (mi-plugin en el ejemplo) con el tema o plugin.

//Cargamos la plantilla para el plugin o theme
Add_action('init','traducir_plugin');
Function traducir_plugin(){
Load_plugin_textdomain('mi-plugin',false,plugin_basename(dirname(___FILE_).'/lang/es/'));
}

Con esta función indicamos el nombre que usaremos en las cadenas (en este ejemplo: mi-plugin) y en el tercer parámetro indicamos la URL (en este caso dentro de la carpeta plugins) donde estarán las traducciones.

Más información en el codex: https://codex.wordpress.org/I18n_for_WordPress_Developers

Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.

Evaluación EXCELENTE
A base de 7 reseñas
Contactamos con Iñigo para el diseño web de nuestra tienda online y estamos encantados. Su asesoramiento, seguimiento y trato han sido excepcionales. Un verdadero crack. Recomendado al 100%. No dudes en ponerte en contacto con el.
erlantz rique
erlantz rique
19/02/2024
Un acierto quien elija a Iñigo. Autentico profesional, se preocupó en todo momento que entendiera el funcionamiento de la web. Me explicó todo las veces necesarias hasta entenderlo. Se preocupó y acertó en que la web tuviera lo que le pedí y lo hizo con creces. Muy contento con el servicio prestado. Una vez realizado el trabajo, cualquier duda que tengo me sigue ayudando. Lo recomiendo sin temor a equivocarme.
Jose Marlasca
Jose Marlasca
06/02/2024
Dió en la clave y nos dió los instrumentos que necesitábamos en esos momentos, y sobre todo entendió a la perfección lo que buscábamos. Lo mejor de web que hemos tenido en 24 años. Eskerrik asko Mezo!!
Troka Abentura
Troka Abentura
07/01/2024
Compromiso, implicación e innovación en los proyectos. Atento a las necesidades e incansable en la búsqueda de soluciones. Muy buena opción.
Jabier Fuertes Udaondo
Jabier Fuertes Udaondo
07/01/2024
Si buscas a alguien que además de hacer un diseño web moderno, responsivo y adaptado a tu sector, te explique por qué plantea el diseño web de esa manera y que te explique y ayude en posicionar tu web lo mejor posible en base a los objetivos fijados, ese es Iñigo Mezo y os lo recomiendo al 100%
Asier Hermoso
Asier Hermoso
03/01/2024
Genial trabajar con él! Además de ser muy buen profesional, experto y responsable, a destacar tanto su implicación en cada proyecto, así como su trato siempre cercano y su paciencia infinita ;) Un crack!!
itxaso zubia
itxaso zubia
15/12/2023
El plugin gratuito para integrar productos de Prestashop en Wordpress muy sencillo de utilizar y muy bien documentado, os felicito.
Fernando Cózar
Fernando Cózar
02/11/2023