Cómo localizar y traducir un complemento de WordPress: una guía detallada para desarrolladores de complementos

Publicado: 2020-01-20

Al desarrollar un complemento, siempre es una buena idea prepararlo para la traducción, ya que podría llegar a audiencias que no usan el inglés como su primer idioma. Si se preguntaba qué tan importante es una opción de traducción, puede consultar el repositorio y ver que todos los complementos populares están disponibles para la localización de idiomas. Encontrará que esta opción está disponible con UpdraftPlus, MetaSlider, WP-Optimize, Contact Form 7 y WooCommerce, así como muchos más. Estos son algunos de los complementos más populares disponibles y están codificados de una manera que permite que cualquier persona los traduzca fácilmente a su idioma nativo.

El propósito de este blog es demostrar a nuestros lectores cómo pueden codificar un complemento para que sea localizado y traducido a cualquier idioma de WordPress compatible. Por ejemplo, si quisiéramos traducir un complemento al francés, los siguientes pasos permitirán la traducción del complemento y también lo prepararán para todos los idiomas compatibles con WordPress.

Empezando

Al crear un complemento, debemos asegurarnos de cargar el dominio de texto del complemento. WordPress proporciona esta función:

cargar_plugin_textdomain()

Este código cargará las cadenas traducidas del complemento. Puede parecer un poco confuso, pero sigue leyendo y te explicaremos cómo funciona en breve.

Primero, echemos un vistazo a cómo agregar esta función a nuestro código de complemento. En su carpeta de complementos, cree un directorio llamado 'idiomas'. A continuación, agregue el siguiente código al archivo principal de su complemento.

 * Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );

En el código anterior, mantenemos el primer parámetro (dominio) como 'udp'. Deberíamos mantener este nombre de dominio según nuestro nombre del complemento. El segundo parámetro por defecto es falso. El tercer parámetro es la ruta de nuestro directorio de 'idiomas'. Este código mantiene nuestros archivos de traducción listos en la inicialización de WordPress.

Uso de los métodos __() y _e()

Como nuestro objetivo es que nuestro complemento esté disponible en todos los idiomas, debemos envolver todo el texto de nuestro complemento dentro de:

Funciones __() o _e() .

Es muy fácil utilizar estos métodos. Ambos métodos funcionan exactamente igual, pero hay una regla para usar ambos.

En nuestro código de complemento, normalmente tenemos dos tipos de texto. El primero está envuelto en HTML directamente y el segundo se muestra usando la función de eco de PHP. A continuación se muestran ejemplos de ambos tipos:

Tipo 1

 <h2>My Plugin Title</h2>

Tipo 2

 <?php echo 'Configuración de mi complemento'; ?>

La regla general es que si está imprimiendo texto usando PHP echo, entonces debe envolver el texto en el siguiente código:

<code>__()</code>

Si está en HTML, utilice el código: <code>_e()</code>.

El código anterior debe escribirse de la siguiente manera:

 <h2><?php _e('Título de mi complemento', 'udp'); ?></h2>

y

 <?php echo __('Configuración de mi complemento', 'udp'); ?>

Como se puede ver en los ejemplos anteriores, el segundo parámetro se escribió como 'udp', que es nuestro dominio de texto de complemento. Al utilizar este dominio, nos permitirá traducir posteriormente nuestro texto a cualquier idioma. Así es como otros complementos preparan la traducción de sus complementos.

Si lo deseas, puedes consultar nuestro plugin:

UpdraftPlus

Si busca el dominio de texto 'updraftplus', verá cómo el texto de nuestro complemento está envuelto dentro de las funciones __() y _e() .

Crear un complemento de muestra

La siguiente etapa es crear un complemento de muestra con algún texto para que podamos probar nuestras traducciones. Primero, cree una carpeta 'udp' en su directorio de complementos. Dentro de esta carpeta crea el archivo: udp.php y la carpeta languages . A continuación, agregue el siguiente código al archivo del complemento.

udp.php

 <?php
/*
Nombre del complemento: UDP
Descripción: este es un complemento de muestra para probar el dominio de texto del complemento
Autor: Equipo editorial
Versión: 1.0
Licencia: GPLv3 o posterior
Dominio de texto: upp
Ruta de dominio: /idiomas
*/

if (!defined('ABSPATH')) die('No se permite acceso directo');/**
* Cargar dominio de texto del complemento.
*/
función udp_load_textdomain() {
load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' );
}
add_action('init', 'udp_load_textdomain'); 

función udp_menu_page() {
agregar_menu_pagina(
__('Página de configuración UDP', 'udp'),
__('Página de configuración UDP', 'udp'),
'manejar_opciones',
'udp_setting_page',
'udp_setting_page',
'',
6
);
}
add_action('admin_menu', 'udp_menu_page');

función udp_setting_page() {
?>
<h2><?php _e('Título de mi complemento', 'udp'); ?></h2>
<?php
}

Crear los archivos de traducción

Para generar nuestros archivos de traducción, utilizaremos el siguiente software editor de traducción:

POEDIR

Los archivos de traducción (.po y .mo) contienen la cadena a traducir y la cadena traducida. Al crear el archivo .po, debemos guardarlo en el formato '{dominio}-código de idioma'. En este ejemplo, el archivo será udp-fr_FR.po .

A continuación, instale el software POEDIT en su sistema. Este software está disponible para todas las plataformas y se puede instalar en Windows, Linux o Mac.

Una vez instalado, abra POEDIT y vaya a Archivo->Nuevo , donde ingresaremos nuestro código de idioma en el indicador de la ventana.

Haga clic en el icono 'Guardar', después de lo cual se abrirá el explorador de archivos. Dirígete al directorio de idiomas de complementos y guárdalo de la siguiente manera: udp-fr_FR.po .

Ahora podemos agregar la traducción al francés para el texto de nuestro complemento. Para hacerlo, haga clic en la sección 'Extraer de las fuentes'.

Esto abrirá una ventana emergente de propiedades del catálogo. Ahora necesitamos configurar las tres pestañas siguientes: Propiedades de traducción, Rutas de origen y Palabras clave de origen. En la pestaña Propiedades de traducción, agregue nuestro dominio 'udp' como nombre del proyecto. Las rutas de origen serán nuestra carpeta de complementos y agregaremos '__ y _e' dentro de las palabras clave de origen.

Si tiene varias carpetas dentro del complemento, tendremos que elegir cada directorio individualmente.

Después de seleccionar la carpeta del complemento, debería ver '.' en la sección Caminos. Repita el mismo proceso para otras carpetas dentro de su directorio de complementos si es necesario.

Debajo de Palabras clave de origen, haga clic en el ícono + y agregue '__' y '_e' como palabra clave y haga clic en el botón Aceptar.

En la siguiente ventana, en Texto fuente, tendrá todas las cadenas disponibles para traducir desde su complemento. Elija la cadena una por una y agregue su traducción al francés a la cadena.

Una vez que agregue todas las traducciones, haga clic en el icono Guardar. Esto guardará automáticamente toda su traducción de cadenas en su archivo udp-ft_FR.po . Su archivo .po ahora contendrá el siguiente código:

 #: udp.php:24 udp.php:25
msgstr "Página de configuración UDP"
msgstr "Página de configuración UDP"

#: udp.php:37
msgstr "Título de mi complemento"
msgstr "Título de mon plugin"

Pruebe la traducción de nuestro complemento

Ahora hemos completado la tarea de crear archivos .po y .mo para nuestro complemento. Ahora es el momento de probar nuestro complemento y verificar la traducción al francés.

Primero, descargue nuestro archivo de idioma desde la siguiente dirección:

Repositorio de idiomas de WordPress.

Para el idioma francés, la ruta es la siguiente:

Repositorio de idioma francés de WordPress.fr_FR.mo y fr_FR.po

Descargue archivos desde este enlace y guárdelos en el directorio wp-content/languages . Cree la carpeta 'idiomas', si aún no existe.

A continuación, debemos cambiar el idioma predeterminado de nuestra instalación de WordPress. Abra el archivo wp-config.php y agregue el idioma de la siguiente manera:

 define('WPLANG', 'fr_FR');

Ahora, si va al tablero, su complemento debería mostrarse en francés.

En conclusión

Crear una traducción localizada para su complemento de WordPress puede parecer un poco desalentador y complicado al principio. Sin embargo, los beneficios potenciales de ofrecer a los grandes países que no hablan inglés, como Brasil, Francia y Alemania, su complemento en su idioma nativo puede ayudar a abrir su complemento a una audiencia completamente nueva y apreciada. Si bien puede parecer mucho trabajo, las recompensas pueden ser considerables.

La publicación Cómo localizar y traducir un complemento de WordPress: una guía detallada para desarrolladores de complementos apareció primero en UpdraftPlus. UpdraftPlus: complemento de copia de seguridad, restauración y migración para WordPress.