WPML

Esta página existe para el resto: temas y plugins menos populares, versiones muy recientes en las que el autor publicó antes de que la compatibilidad de WPML se pusiera al día, y un pequeño número de ayudas genéricas para sitios que presentan síntomas específicos. La mayoría de los clientes nunca visitan esta página. Cuando lo hace, suele ser porque el equipo de Soporte de WPML le ha indicado un ajuste específico o un wpml-config.xml que debe pegar.

Dos subpáginas de Configuración cubren la compatibilidad, y esta página abarca ambas:

  • WPMLConfiguraciónCompatibilidad contiene los ajustes para los síntomas comunes.
  • WPMLConfiguraciónConfiguración XML personalizada es donde escribe su propio wpml-config.xml, lo cual se describe en la segunda mitad de esta página.

La interfaz de usuario para los valores predeterminados más comunes (preferencias de traducción por tipo de contenido, por taxonomía, por campo) se encuentra en una página de Configuración separada que se cubre en Qué se traduce y qué no; la mayoría de los clientes utilizan esa interfaz y solo vienen aquí cuando esta no cubre lo que necesitan.

Ajustes de compatibilidad

Abra WPMLConfiguraciónCompatibilidad.

La página tiene cuatro tarjetas. Cada tarjeta está orientada a una clase específica de problema de compatibilidad.

Opciones de localización: para temas y plugins cuyas traducciones no se cargan

Cuando un tema o plugin ya incluye sus propias traducciones de la interfaz de usuario (archivos .mo en una carpeta /languages/) pero esas traducciones no aparecen en su sitio, la tarjeta de Opciones de localización tiene tres ajustes que ayudan a WPML a encontrarlas y aplicarlas.

  • Cargar automáticamente el archivo .mo del tema usando load_textdomain. Obliga a WPML a llamar a load_textdomain() para el dominio de texto del tema. Úselo cuando las traducciones del tema están en el disco pero no aparecen.
  • Introducir dominio de texto. Anula el dominio de texto detectado automáticamente. Algunos temas registran su dominio de texto de formas no estándar; este campo le permite especificarlo explícitamente.
  • Usar dominios de texto de temas o plugins cuando las llamadas a gettext no usan una cadena literal. Una opción de compatibilidad para temas/plugins que utilizan llamadas __() con argumentos variables en lugar de cadenas literales. WPML no puede detectarlas automáticamente, y este ajuste le ayuda a aplicar las traducciones de todos modos.

Si el equipo de Soporte de WPML le dirige aquí, le indicarán qué ajuste y qué dominio de texto debe configurar.

Hacer que los temas funcionen de forma multilingüe

Ajustar ID para la funcionalidad multilingüe. Una capa de compatibilidad para temas que codifican suposiciones de un solo idioma (por ejemplo, un tema que almacena un «ID de imagen destacada» una vez y utiliza la misma imagen en todos los idiomas).

La mayoría de los temas modernos compatibles con WPML no necesitan esto. Los temas más antiguos o menos preparados para WPML a veces sí lo requieren. Actívelo si ve que las referencias de contenido (imágenes, menús, elementos destacados) se mezclan incorrectamente entre los idiomas.

Filtrado de idiomas para operaciones AJAX

Almacenar una cookie de idioma para permitir el filtrado de idiomas para AJAX. Algunos plugins utilizan AJAX para obtener contenido: listados de productos filtrados, listas de entradas paginadas con AJAX, resultados de búsqueda a medida que se escribe. Sin una cookie de idioma, el endpoint de AJAX no sabe en qué idioma responder y devuelve resultados en el idioma equivocado.

Active la cookie si observa este síntoma: los visitantes de la página en francés obtienen resultados en inglés en las secciones cargadas mediante AJAX. Es una solución de una sola casilla para toda una clase de errores.

Páginas de inicio de sesión y registro

Permitir la traducción de las páginas de inicio de sesión y registro. El /wp-login.php integrado de WordPress y la pantalla de registro no forman parte del contenido habitual que traduce WPML. Viven fuera de la cadena de plantillas del tema. Este ajuste los añade al conjunto de páginas traducibles de WPML.

Si su sitio funciona en nginx, el ajuste también requiere un retoque en la configuración del servidor. La página enlaza a la guía de nginx de WPML con el bloque de configuración exacto.

Textos de temas y plugins: configuración aquí, escáner en otro lugar

Dos tipos de trabajo con cadenas de temas y plugins se dividen en dos pantallas:

  • La configuración de esta página. Gestiona la compatibilidad para las traducciones que el tema o plugin ya incluye: load_textdomain, anulación del dominio de texto, gettext no literal.
  • El escáner tiene su propia pantalla. Cuando necesite encontrar cadenas de temas y plugins que aún no están registradas para su traducción, utilice la pantalla Traducción de textos de administración. Se accede a ella desde la pestaña Cadenas en Traducciones, en la sección «¿no ve las cadenas que busca?».

Para ver el flujo de trabajo completo de escaneo de cadenas, consulte Traducir cadenas.

wpml-config.xml personalizado

Los temas y plugins compatibles con WPML incluyen un archivo wpml-config.xml que le indica a WPML exactamente cuáles de sus campos, tipos de contenido, taxonomías, shortcodes y metaclaves deben ser traducibles. WPML lo lee al activarse. Para todos los temas y plugins más importantes y populares, esto significa que la traducción funciona correctamente desde el primer momento. No necesita hacer nada.

Cuando el archivo wpml-config.xml que se incluye con un tema o plugin no es suficiente para su sitio, usted puede escribir el suyo propio. WPML lo aplica por encima de lo que incluya el tema o plugin.

Cuándo escribir su propio wpml-config.xml

Tres escenarios.

  • Un campo que necesita traducir no está en el archivo wpml-config.xml incluido. El autor del tema o plugin no declaró un campo personalizado como traducible, pero usted necesita traducirlo en su sitio.
  • Un campo tiene el valor predeterminado incorrecto. El archivo wpml-config.xml incluido marca algo como Copiar y usted quiere Traducir, o viceversa.
  • Está creando un tema o plugin personalizado y quiere declarar su comportamiento de traducción desde la página de Configuración de WPML en lugar de incluir un archivo wpml-config.xml con su código.

En cualquier caso, el equipo de Soporte de WPML puede dirigirle aquí con el wpml-config.xml exacto que debe pegar. Principalmente es una acción impulsada por Soporte, aunque de vez en cuando la realiza un desarrollador.

Por qué editar wpml-config.xml en el panel de administración de WPML en lugar de en el archivo del tema

Podría editar el propio wpml-config.xml del tema o plugin directamente. Pero ese cambio se perderá la próxima vez que el tema o plugin se actualice. El editor del panel de administración de WPML en WPMLConfiguraciónConfiguración XML personalizada superpone su wpml-config.xml al que incluya el tema o plugin, y sobrevive a las actualizaciones. Es el lugar adecuado para realizar ajustes específicos del sitio.

La estructura de un wpml-config.xml

La página es un editor de XML. Pegue un bloque <wpml-config>...</wpml-config>, guarde los cambios, y WPML aplicará su wpml-config.xml.

Un wpml-config.xml mínimo que declara un shortcode como traducible:

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>add_to_cart_link</tag>
    </shortcode>
  </shortcodes>
</wpml-config>

Los tipos de elementos que declararía normalmente:

  • <custom-fields>. Marca un campo personalizado como translate, copy, copy-once o nothing.
  • <custom-types>. Declara un tipo de contenido personalizado como traducible.
  • <taxonomies>. Declara una taxonomía personalizada como traducible.
  • <shortcodes>. Enumera los shortcodes cuyo contenido WPML debe traducir.
  • <custom-term-fields>. Para los metadatos de términos.

Cada elemento tiene sus propios atributos (por ejemplo, action="translate" en un campo personalizado). Para ver la referencia completa de wpml-config.xml (cada elemento, cada atributo, cada valor permitido), consulte la Información para desarrolladores de WPML.

Un flujo de trabajo práctico

Si el equipo de Soporte de WPML le proporciona un bloque wpml-config.xml para pegar:

  1. Abra WPMLConfiguraciónConfiguración XML personalizada.
  2. Pegue su XML dentro del bloque <wpml-config> existente (o reemplace el contenido si le han dado el bloque completo).
  3. Guarde.
  4. WPML aplica su wpml-config.xml de inmediato. Si declara un nuevo tipo de contenido o campo traducible, la entrada aparecerá en WPMLConfiguraciónTraducción de tipos de entrada o WPMLConfiguraciónTraducción de campos personalizados al instante.

Si está creando un tema o plugin personalizado y quiere incluir su configuración de WPML con el código, deberá colocar el mismo bloque <wpml-config> en un archivo wpml-config.xml en la raíz de su tema o plugin. WPML lo lee al activarse. El editor del panel de administración es para ajustes específicos del sitio; el archivo incluido es para los valores predeterminados del propio tema o plugin.

Escrito porAmir

Escrito porAmir