¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. WordPress
  3. Traducir el tema y las extensiones
Extrait - WordPress Desarrolle con PHP - extensiones, widgets y temas avanzados (teoría, TP, recursos) (2ª edición)
Extractos del libro
WordPress Desarrolle con PHP - extensiones, widgets y temas avanzados (teoría, TP, recursos) (2ª edición) Volver a la página de compra del libro

Traducir el tema y las extensiones

Introducción

La traducción es importante si desea que su sitio web, sus temas o sus extensiones sean multiidioma, para llegar a un público más amplio.

Si ha encontrado un tema o extensión que se ajusta exactamente a su búsqueda, pero está completamente en inglés, la traducción puede ser muy útil y ahorrarle mucho tiempo. Este suele ser el caso de ciertos temas gratuitos o de pago, en particular los del famoso sitio web: tema forest, que permite comprar temas muy potentes, pero la mayoría de las veces en inglés. En su mayoría, son compatibles con extensiones de traducción como WPML y sobre todo, están listos para ser traducidos.

Para poder traducir un tema o una extensión, es necesario que lo permita. Para ello, debe utilizar absolutamente las funciones de WordPress para textos. Si no están presentes, se deberán agregar.

Si modifica los archivos de origen, deberá reflejar esta modificación durante la actualización (a veces, durante las actualizaciones, el desarrollador puede agregar la traducción). Pero es mejor comenzar directamente con un tema que se pueda traducir.

También puede, en algunos casos, usar hooks para modificar una función o hacerlo a través de un tema hijo.

Las extensiones también pueden ayudarle a traducir sus otras extensiones y temas. No todos funcionan de la misma manera...

WordPress y los idiomas

La traducción en WordPress se realiza mediante dos archivos: un archivo .po o .pot que contiene el catálogo de términos a traducir, leídos por el software Poedit, y un archivo .mo que es un archivo compilado, generado a partir del archivo .po o .pot, leído por WordPress.

1. La carpeta wp-content/languages

La traducción de los archivos principales de WordPress se puede encontrar en la carpeta wp-content/languages.

Dentro de esta carpeta hay varios archivos: admin-es_ES.mo, admin-es_ES.po, es_ES.mo, es_ES.po, admin-network-es_ES.mo, admin-network-es_ES.po, continents-cities-es_ES.mo y continents-cities-es_ES.po.

Dentro de este directorio hay varias carpetas. La carpeta plugins contiene traducciones para extensiones cuando estas existen. La carpeta de temas contiene traducciones para temas cuando estos existen. Por lo tanto, cada vez que descargue un tema o extensión y según su idioma predeterminado (y siempre que exista la traducción), WordPress agregará el archivo de idioma correspondiente. De lo contrario, solo tiene que agregarlo en la carpeta plugins para las extensiones y themes para los temas.

A veces, los archivos proporcionados o que se encuentran en Internet no tienen este formato. Deberá cambiar el nombre de los archivos de la siguiente manera: nombredelacarpetademiplugin-es_ES.po y nombredelacarpetademiplugin-es_ES.mo para un plugin, teniendo cuidado de reemplazar el nombredelacarpetademiplugin, con el nombre del plugin correspondiente.

Lo mismo ocurre con los temas.

WordPress detectará automáticamente la traducción.

2. Los archivos de idioma de la carpeta wp-content/languages

En el caso de una instalación de WordPress en español, todos los archivos de idioma tienen una base común, por ejemplo es_ES si ha instalado la versión en español.

La base es_ES significa archivo español. Para archivos en francés fr_FR, para Italia it_IT, etc. Cada idioma tiene su propio código y WordPress lo reconoce automáticamente....

Utilizar el software Poedit

Poedit es un software para traducir temas y extensiones manualmente. Puede buscar las diferentes funciones de traducción __(), _e(), etc. de un tema o extensión, lo cual es muy práctico.

Si realiza actualizaciones con nuevas traducciones, Poedit solo necesita un clic para buscar los nuevos textos. También puede traducir archivos .po o .mo directamente en la administración de WordPress, gracias a las extensiones WPML y WPML String Translation (consulte el capítulo La extensiones y los widgets). 

1. Descargar e instalar el software

Poedit es un software libre de código abierto. La versión actual es 3.3.

Descargue el software Poedit del sitio web oficial, en esta dirección: https://poedit.net/download

images/16EI01new.png

Página de inicio del sitio Poedit

Después, instale el software siguiendo las instrucciones.

2. Crear el archivo de idioma

Pulse en Archivo - Nuevo.

Se abre una ventana donde debe elegir el idioma.

images/17pagina_10.png

Ventana del software Poedit para elegir el idioma

Luego vaya al menú Catálogo - Propiedades

En la pestaña Propiedades de traducción, complete los campos Nombre del proyecto y versión, Equipo de traductores (Nombre del equipo y Dirección de correo electrónico o URL).

Algunos consejos para completar los campos:

  • Para Idioma, elija es_ES o español (si la traducción es español, normalmente ya eligió el idioma al abrir la ventana que permite...

Utilizar los archivos en un tema o una extensión

Se presentan varias soluciones.

Primer método

Debe descargar los archivos .mo o .po en la carpeta wp-content/languages/themes, en el caso de un tema y wp-content/languages/plugin en el caso de una extensión, con el nombre de archivo nombredelacarpetadelplugin: ES_es.mo y nombredelacarpetadelplugin-ES_es.po, y de manera similar en el caso de un tema con el nombre de la carpeta del tema.

WordPress interpreta las traducciones directamente.

Segundo método

Cree una carpeta languages o lang en el tema o la extensión y transfiera ahí los archivos.

Para que WordPress lo entienda, use la función load_theme_textdomain() en el archivo functions.php, en el caso de un tema.

Para una extensión, use la función load_plugin_textdomain() en el archivo PHP principal de la extensión.

Estas dos funciones funcionan igual:

 <?php load_theme_textdomain($domain, $path ) ?> 
 <?php load_plugin_textdomain($domain, $path ) ?> 
  • $domain: acepta el identificador único que encuentra al utilizar las funciones de traducción. Suele corresponderse con el nombre de la extensión o del tema.

    Ejemplo: __(’mi cadena para traducir’, $domain)

  • $path (opcional): acepta la ruta de la carpeta que contiene el archivo .mo.

    Ejemplo para el tema Twenty Seventeen, en el archivo functions.php:

load_theme_textdomain('twentyseventeen');...

Traducir las nuevas cadenas

Para traducir las nuevas cadenas en los temas o extensiones, actualice los archivos que descargó en el escritorio o en una carpeta específica.

Luego, edite el archivo .po o .pot y haga clic en el botón Actualizar, Poedit busca automáticamente nuevas cadenas para traducir.

Solo necesita guardar y transferir los nuevos archivos.

Si ciertas traducciones no le convienen en ciertos temas o extensiones, puede editar los archivos .po o .pot de la misma manera.

Traducir las páginas y los artículos

WordPress no le permite traducir el contenido de artículos y páginas, debe pasar por una extensión. Hay muchos complementos de traducción excelentes disponibles para WordPress. Consulte el capítulo Las extensiones y los widgets - sección Las grandes extensiones.