Blog · Problemas resueltos

Cómo traducir widgets cuando WPML String Translation no funciona

Varios títulos y enlaces seguían en español aunque la página estuviera en inglés, francés o catalán.

Cómo traducir widgets cuando WPML String Translation no funciona

Una tienda multilingüe mostraba correctamente productos y páginas, pero el lateral seguía enseñando «Búsqueda de productos», «Categorías» y «Últimas entradas» en español. Los enlaces legales del pie también apuntaban siempre a las mismas URLs. El usuario no podía resolverlo desde Traducción de cadenas.

Por qué algunos textos no aparecen en WPML

Un texto visible puede proceder de la base de datos, del tema, de un widget clásico, de un plugin o de código generado en tiempo de ejecución. WPML solo puede ofrecer una traducción editable cuando la cadena se registra de una forma que reconoce.

En este caso los títulos llegaban a través del filtro de widgets y los enlaces se habían añadido como HTML. Esperar a que aparecieran en el panel no iba a resolverlo.

La solución basada en el idioma activo

Preparé un pequeño módulo que consulta el idioma actual de WPML y transforma únicamente los títulos conocidos. Para cada idioma devuelve el texto correspondiente. El mismo criterio se aplicó a los enlaces legales, seleccionando etiqueta y URL traducida.

La solución no modifica el contenido principal ni intenta traducir cualquier texto de forma global. Actúa sobre elementos concretos y controlados.

Detalles importantes

  • Utilizar códigos de idioma reales de la instalación.
  • Escapar etiquetas y URLs antes de imprimirlas.
  • Conservar un idioma predeterminado si aparece uno no previsto.
  • No comparar cadenas modificadas por espacios o iconos sin normalizarlas.
  • Probar categorías, buscador y últimas entradas en todas las plantillas.

Cuándo registrar cadenas y cuándo usar código

Si el cliente necesita editar la traducción con frecuencia, prefiero registrar la cadena correctamente en WPML. Para un conjunto pequeño de etiquetas estructurales y estables, una función bien documentada puede ser más sencilla y fiable.

La traducción incluye también el destino

No basta con cambiar «Aviso legal» por «Legal notice» si el enlace continúa abriendo la versión española. Cada elemento debe combinar texto, URL, atributos y, cuando corresponde, idioma de destino.

Si tu web multilingüe mezcla idiomas en widgets o plantillas, puedo integrar WPML en el punto donde se genera realmente el contenido.

¿Quieres valorar nuestro artículo?