Esta guía le mostrará cómo puede crear Temas multilingües utilizando WordPress. Un Tema multilingüe es más que solicitar los textos a través de llamadas a la función GetText y proveer el archivo .mo. Personalizar los textos del Tema es un paso importante, pero hay otras cosas que deben realizarse.

Un Tema en un sitio multilingüe debe ser capaz de presentar todos los idiomas disponibles, permitir su selección y mostrar todo correctamente en cada idioma.

Estas son las acciones que necesitamos realizar:

  1. Proporcionar localización para diferentes idiomas.
  2. Permitir a los usuarios permutar entre los diversos idiomas.
  3. Devolver el contenido correspondiente a cada idioma.
  4. Indicar a WPML qué textos necesitan ser traducidos.

Preparar el Tema para traducción

Para que el Tema pueda desplegarse en cada idioma, los textos necesitan ser traducidos antes de ser mostrados. WordPress utiliza la función GetText para lograr este objetivo y también debería hacerlo el Tema.

Ya hemos publicado una entrada sobre personalización de Temas en WordPress. Ella explica cómo armar los textos del Tema para las llamadas a la función GetText, cómo generar traducciones (archivos .mo) y cómo aplicarlas al Tema.

Intercambiar entre idiomas diferentes

Un intercambiador de idiomas le presenta al usuario las distintas opciones disponibles y le permite elegir entre ellas.

El intercambiador de idiomas está disponible en varios formatos. Una primera opción es un menú desplegable compacto con el nombre de los idiomas. Una segunda permite desplegar las banderas de los países y la tercera mostrar la lista de idiomas en forma vertical u horizontal.

WPML hace que la implementación del intercambiador de idiomas sea una acción fácil. Se proporciona integrado con su propio intercambiador desplegable hacia abajo, el que también puede ser instalado como un widget. El intercambiador puede mostrar las banderas de los países, sus nombres o sus traducciones. Puede ser configurado desde el menú WPML->Idiomas.

También puede crear su propio intercambiador de idioma e insertarlo en diferentes lugares del Tema. La página del manual del intercambiador personal de idiomas explica cómo puede crearlo y le proporciona ejemplos de utilización común. Agregar un Intercambiador de idiomas personalizado a su Tema puede aportar elegancia y distinción e indicar, obviamente, que el mismo está diseñado especialmente para sitios multilingües.

Aportar el contenido apropiado al idioma

Muchos Temas incluyen codificación interna para enlazar páginas, categorías y etiquetas.

WPML llama a las funciones API estándar de WordPress y las filtra por idioma.

Por ejemplo, cuando llama:

$args = array( 'category' => 1 );
$myposts = get_posts( $args );

Supongamos que la categoría “1” es una categoría del inglés y la traducción al español es la categoría “4”. Cuando se observa la página en español y se ejecuta este código, WPML sustituye el número de categoría en el filtro por el indicador “4”.

Para que ello ocurra, su código debe usar exclusivamente las llamadas a la API de WordPress y no buscar manualmente en la base de datos (lo que constituye una práctica incorrecta en sí misma).

Puede controlar esta funcionalidad desde WPML->Idiomas. Busque la opción que permite ajustar los Id de manera automática.

Indicar a WPML qué textos necesitan traducción

WPML puede leer un archivo de configuración de idioma. Este archivo le indica todo lo que debe saber sobre su Tema.

Ello incluye textos de administración, campos personalizados y tipos personalizados en uso.

Una vez que usted crea este archivo XML, WPML se autoconfigurará y permitirá que los usuarios ejecuten el sitio en modo multilingüe sin acceder a ninguna pantalla.

3 respuestas para “Temas multilingües personalizados”

  1. Hola: en relación a la información de esta página me surge la siguiente duda: parece que la función descrita proporciona traducciones automáticas ¿es así? Soy todavía inexperto en wordpress, pero en mi caso necesito traducir las páginas originales manualmente (traducidas por un profesional) y luego subir la versión traducida al tema, en páginas que enlacen con un icono/bandera de la(s) lenguas finales.

    ¿Es eso posible?

    Saludos,

    Ernesto