Todos los temas y plugins de WordPress pueden ser compatibles con WPML. Siga las instrucciones de este tutorial para verificar la compatibilidad con WPML y conocer los cambios necesarios para que su código esté preparado para ser multilingüe.

Este tutorial le explica cómo preparar diferentes partes de su código para aceptar instrucciones multilingües. Le insumirá aproximadamente 1 a 2 horas implementar todos los cambios en su tema.

Cuando finalice, deberá crear un archivo de configuración de idioma XML y agregarlo al directorio raíz de su tema. Esto le permitirá a los usuarios correr sitios multilingües con su tema, sin necesidad de configuraciones adicionales.

Contenido

  1. Instalar componentes WPML
  2. Caso de estudio: tema Resort de WooThemes
  3. Traducir el encabezado
  4. Traducir los menúes
  5. Traducir la barra de desplazamiento de WooThemes
  6. Traducir los elementos de personalización del tema o del plugin
  7. Traducir el cuerpo de las entradas
  8. Traducir los widgets
  9. Traducir el pie
  10. Crear un archivo de configuración de idioma para su tema
  11. Soporte de la función GetText para cadenas embebidas en el código
  12. Sugerencias e ideas de depuración

1. Instalar componentes WPML

WPML incluye varios componentes. Algunos son necesarios para la compatibilidad del tema y otros para la administración del sitio, los cuales gestionarán posteriormente el contenido del sitio.

Usted debería activar los componentes esenciales de WPML que le permitan traducir completamente su tema, lo que incluye el núcleo WPML, la traducción de cadenas (WPML String Translation) y la administración de la traducción (WPML Translation Management).

Componentes esenciales de WPML
Componentes esenciales de WPML

Para obtener dichos componentes, vaya a su cuenta WPML y haga «clic» en Descargas.

Está cordialmente invitado a conocer más acerca de otros componentes en Componentes y núcleo de WPML.

2. Estudio de caso: tema Resort de WooThemes

Echemos un vistazo a este ejemplo de sitio web creado con Resort de WooThemes:

sample-homepage

¡A medida que avancemos por los diversos elementos de este sitio, aprenderemos cómo traducir temas y plugins ricos con WPML!

3. Traducir el encabezado

Los encabezados de temas y plugins provienen de la configuración general de WordPress:

general-settings
Configuración->General

Dado que no es integrante de ninguna entrada, debemos utilizar la traducción de cadenas de WPML para traducirlo. Vaya a WPML->Traducción de cadenas, busque la cadena por su contenido (en el título del sitio) y tradúzcalo.

string-translation-example
WPML->Traducción de cadenas

No es necesario efectuar ninguna operación en el tema o el plugin. WPML lo procesa automáticamente. Le hemos mostrado cómo traducir el nombre del sitio porque aprovecharemos la traducción de cadenas de WPML para procesar otros elementos en su tema o plugin.

4. Traducir los menúes

WPML traduce los menúes de WordPress sin necesidad de operación alguna por su parte. Siempre y cuando el tema utilice el sistema de menúes estándar de WordPress, WPML traducirá los menúes.

Controles de traducción de menúes
Controles de traducción de menúes

Cuando acceda a Apariencia->Menúes, podrá ver los controles de traducción de menúes de WPML. Conozca más acerca de la traducción de menúes para ver cómo funciona.

5. Traducir la barra de desplazamiento de WooThemes (aprovechando tipos de entradas personalizadas)

El tema de ejemplo que utilizamos aprovecha CPT, llamado ‘slide’ por ‘slider’ (barra de desplazamiento). Esto implica que es muy fácil traducir con WPML y con muy poca configuración.

Debemos indicarle a WPML que el tipo de entrada personalizada ‘slide’ es multilingüe. Esto implica que WPML ofrecerá a los usuarios la posibilidad de traducirla.

Quizás se pregunte el porqué WPML permite que algunos contenidos sean multilingües y otros no contengan información de idioma, en el mismo sitio. ¡Buena pregunta!

Cuando el contenido es multilingüe, WPML lo filtra y solo devuelve resultados en el idioma actual. En algunos casos, usted puede querer aprovechar el mismo contenido en todos los idiomas. Por ejemplo: si muestra las mismas barras de desplazamiento (con los mismos nombres) para todos los idiomas, podría mantener los CPT de slide sin traducir. Sería necesario traducir las barras de desplazamiento para que todos tuvieran distintos títulos por idioma.

Dentro de la GUI de WPML edite el slide y vaya hasta la parte inferior. Verá una sección denominada ‘Configuración del contenido multilingüe‘ (Multilingual Content Setup).

Configuración del contenido multilingüe
Configuración del contenido multilingüe

Marque la casilla de verificación para convertir a CPT en traducible y presione Aplicar.

¿Puede apreciar que en nuestra captura de pantalla se muestra en gris? No es casualidad. Esto es porque ya disponemos de un archivo de configuración de idioma junto al tema o el plugin.

El archivo de configuración de idioma contiene todo lo que WPML necesita saber sobre su tema. Esto incluye qué archivos CPT y qué taxonomía necesitan ser traducibles, qué campos personalizados traducir o sincronizar y qué cadenas traducir.

6. Traducir los elementos de personalización del tema o del plugin

Muchos temas y plugins tienen características únicas que almacenan textos en la tabla wp_options. El mensaje de introducción de Resort hace exactamente lo mismo.

Mensaje de introducción de Resort
Mensaje de introducción de Resort

Tanto el tema como el plugin almacenan estos textos en la tabla wp_options y necesitamos indicarle a WPML que los traduzca. Debemos agregar esa información al archivo de configuración de idioma. Ahí le indicaremos a WPML qué entradas de la tabla wp_options necesitan ser traducidas.

Esta técnica resulta particularmente útil cuando las claves de las opciones son fijas (como sucede en la mayoría de los temas). Si su tema utiliza arreglos de entradas, los cuales pueden aumentar con las entradas de los usuarios, debe registrar dichas entradas de forma dinámica. Para ello, utilice las funciones icl_register_string e icl_t de WPML.

7. Traducir el cuerpo de las entradas

WPML permite a los usuarios traducir fácilmente el contenido. Las pantallas de edición incluyen los controles de traducción de WPML, los que permiten crear traducciones nuevas o editar las existentes.

Agregar traducciones
Agregar traducciones

No es necesario efectuar ninguna operación en el tema o el plugin. La traducción de contenido es una función del núcleo de WPML.

Sin embargo, debe cerciorarse que todo texto que agregue su tema a la salida pueda ser traducible. Por ejemplo: los textos destacados en esta captura deben estar contenidos en las llamadas a gettext.

Textos del tema
Textos del tema

Si usted recién comienza a utilizar la función GetText, conozca más acerca de ella en nuestra sección FAQ sobre traducción de textos del tema.

8. Traducir widgets

WPML permite a los usuarios traducir el contenido de widgets de texto. También traduce títulos de todo otro widgets. Si su tema o plugin genera sus propios widgets personalizados, asegúrese de pasar los títulos a través de los filtros estándar de WordPress. De esta forma, WPML permitirá a los usuarios traducir los títulos de sus widgets a través de la pantalla de traducción de cadenas.

9. Traducir el pie

Este tema tiene una pantalla de administración personalizada para almacenar los textos de pie.

Textos de pie
Textos de pie

Tal como sucedió con otros textos que se han mostrado, el tema o el plugin guardan los textos de pie en la tabla wp_options también. Se deberán agregar esas entradas al archivo de configuración de idioma e indicarle a WPML que las traduzca.

10. Crear un archivo de configuración de idioma para su tema

Una vez que haya terminado y su tema sea completamente compatible con WPML, posiblemente deseará que otros usuarios puedan utilizar el tema tan fácilmente como sea posible en sitios multilingües.

Cree un archivo de configuración de idioma para su tema y guárdelo en el directorio raíz del tema. Este archivo le indica a WPML qué tipos de entrada personalizada, taxonomía, campos y opciones son traducibles.

Este pequeño archivo XML ahorrará horas a su cliente, permitiendo que corran sitios multilingües sin esfuerzo alguno. Sus clientes tendrán todo trabajando sin problemas y sin necesidad de configurar los aspectos que deban ser traducidos. Además, le ahorrará a usted tiempo de soporte.

11. Soporte de la función GetText para cadenas embebidas en el código

Aunque esto no está relacionado directamente a WPML, debe recordar incluir todas las cadenas de su texto dentro de las llamadas a GetText. Ello implica que todos los textos dentro del código se mostrarán en el idioma correcto en el sitio. Debería preverlo tanto para los textos de administración del tema como para los que se presentan a los usuarios en las páginas.

Todos los temas y plugins de WordPress, ya sea que estén preparados para ser multilingüe o no, deberían aprovechar la función GetText para traducir los textos embebidos en el código. Los temas de WordPress por defecto utilizan la función GetText de forma muy precisa y son un buen referente, si recién inicia su experimentación con ellos.

Incluir los textos en las llamadas a GetText es un tema muy importante. Si no está familiarizado con el procedimiento o necesita ayuda para depurar la localización de su código, consulte:

Debe saber que WPML es totalmente compatible con GetText. Una vez que haya incluido las cadenas de texto embebidas en el código dentro de las llamadas a GetText, podrá traducirlas directamente desde la administración de WordPress aprovechando la pantalla de traducción de cadenas de WPML. WPML también permite exportar e importar archivos .po, lo que contribuye a traducir las cadenas de su tema directamente desde dentro de WordPress.

12. Sugerencias e ideas de depuración

Si ya está familiarizado con los conceptos básicos de WPML y se encuentra trabajando sobre la compatibilidad de su tema o plugin, consulte la guía de depuración de compatibilidad de temas. Aquí encontrará sugerencias e ideas sobre cómo hacer que su tema sea totalmente compatible con WPML.

Si necesita nuestra ayuda, simplemente escríbanos. Diríjase a nuestro foro de soporte técnico, explíquenos qué funciona mal y lo ayudaremos rápidamente con todo gusto.