Gestionar un sitio web en varios idiomas tiene menos que ver con la traducción y más con la administración: decidir qué contenido se traduce, mantener sincronizadas todas las versiones, mostrar el idioma adecuado a cada visitante y hacer todo ello sin convertir la edición de contenidos en una tarea tediosa. Drupal ofrece estas capacidades de forma nativa en su núcleo, una de las razones por las que es elegido por gobiernos, organizaciones internacionales y universidades que publican contenido en decenas de idiomas.
Esta guía explica cómo funciona realmente la gestión multilingüe en Drupal: los cuatro módulos principales del núcleo, los tres tipos de traducción, cómo añadir y administrar idiomas, cómo Drupal determina qué idioma mostrar, qué flujo de trabajo de traducción se adapta mejor a cada equipo y cuáles son los errores que con mayor frecuencia provocan problemas en un sitio multilingüe.
Por qué el soporte multilingüe forma parte del núcleo de Drupal
La funcionalidad multilingüe no es un complemento añadido a Drupal: forma parte de su núcleo desde Drupal 8, y Drupal 9, 10 y 11 han seguido ampliando y mejorando esta capacidad. Esta diferencia es importante. En las plataformas donde el soporte multilingüe depende de una extensión de terceros, cada actualización importante implica el riesgo de que la capa de traducción deje de estar sincronizada con la plataforma. En Drupal, la capa de idiomas se distribuye y mantiene junto con el núcleo, y el sistema ofrece compatibilidad con más de 100 idiomas desde el primer momento.
En la práctica, esto significa que un sitio Drupal puede planificarse como multilingüe desde el primer día, en lugar de adaptarse posteriormente. Durante la instalación se solicita elegir un idioma base y, si se selecciona uno distinto del inglés, Drupal activa automáticamente los módulos correspondientes y descarga las traducciones más recientes de la interfaz. En un sitio ya existente, disponer de esta funcionalidad solo requiere habilitar unos pocos módulos, sin necesidad de migrar a otro conjunto de herramientas.
Los cuatro módulos principales para el soporte multilingüe
El sistema multilingüe de Drupal se basa en cuatro módulos principales del núcleo. Solo el primero es estrictamente necesario, pero en la práctica la mayoría de los sitios habilitan los cuatro. Se activan desde Extender (admin/modules), en la sección Multilingüe.
- Idioma: es la base de todo el sistema. Define qué idiomas están disponibles en el sitio, establece el idioma predeterminado y controla cómo Drupal decide qué versión lingüística mostrar. Sin este módulo, el resto de la funcionalidad multilingüe no puede funcionar.
- Traducción de contenido: permite a los editores traducir entidades de contenido —como páginas, artículos, términos de taxonomía, bloques personalizados, enlaces de menú y mucho más— a cada uno de los idiomas disponibles. Cada versión en un idioma es una entidad independiente con sus propios campos, URL y estado de publicación.
- Traducción de la interfaz: traduce el texto integrado en Drupal, los módulos y los temas: botones, etiquetas de formularios, mensajes de error y cadenas del sistema. Como el núcleo de Drupal ya incluye traducciones para más de 100 idiomas, gran parte de este contenido queda traducido automáticamente en cuanto se añade un nuevo idioma. (En versiones anteriores este módulo se llamaba Locale, por lo que algunos tutoriales antiguos todavía utilizan ese nombre).
- Traducción de la configuración: permite traducir la configuración del sitio, en lugar del contenido: el nombre del sitio, las etiquetas de los campos, las vistas (Views), los menús, los títulos de los bloques y los vocabularios. Sin este módulo, la estructura del sitio permanece en un solo idioma incluso cuando todo el contenido ya ha sido traducido, lo que deteriora la experiencia del usuario.
Una forma sencilla de distinguir estos tres ámbitos es la siguiente: el contenido es lo que crean los editores; la configuración define cómo está construido el sitio; y la interfaz corresponde al texto proporcionado por Drupal y sus módulos. Para que un sitio se perciba como verdaderamente localizado, y no solo parcialmente traducido, es necesario traducir los tres.
Tres tipos de traducción: contenido, interfaz y configuración
La fuente de confusión más común en un proyecto multilingüe con Drupal no suele ser una configuración técnica, sino no saber a cuál de los tres sistemas de traducción pertenece un determinado fragmento de texto. Comprender correctamente esta distinción evita perder horas buscando una opción de traducción en el lugar equivocado.
- La traducción de contenido abarca todo aquello que crean los editores: el contenido de los nodos, los títulos, las imágenes, los términos de taxonomía y los bloques personalizados. En las versiones modernas de Drupal, la traducción se configura a nivel de campo: puedes decidir qué campos de un tipo de contenido son traducibles. De este modo, un campo compartido (por ejemplo, un código de producto) puede permanecer igual en todos los idiomas, mientras que la descripción se traduce.
- La traducción de la interfaz abarca el texto integrado en el propio software. Normalmente no es necesario traducirlo manualmente, ya que se descarga junto con el paquete de idioma. Solo es necesario modificar cadenas concretas cuando se desea sobrescribir un texto específico desde Configuración → Regional e idioma → Traducción de la interfaz de usuario.
- La traducción de la configuración abarca el texto estructural almacenado en el sistema de configuración de Drupal. Puede traducirse desde la pestaña Traducir de la página de configuración correspondiente o de forma masiva desde Configuración → Regional e idioma → Traducción de la configuración.
Hay un detalle operativo importante que conviene conocer desde el principio: las traducciones de la interfaz pueden exportarse e importarse como archivos estándar .po, mientras que las traducciones de configuración no pueden trasladarse de esa forma utilizando únicamente el núcleo de Drupal; para ello es necesario un módulo adicional. En los proyectos donde las traducciones se preparan fuera de Drupal, esta diferencia influye directamente en el proceso de entrega e importación de las traducciones.
Añadir y gestionar idiomas paso a paso
Una vez habilitados los cuatro módulos principales, añadir un nuevo idioma es un proceso sencillo. El flujo general es el mismo en todas las versiones modernas de Drupal:
- Añadir un idioma: ve a Configuración → Regional e idioma → Idiomas (
admin/config/regional/language) y haz clic en Añadir idioma. Selecciona el idioma deseado, pulsa Añadir y espera mientras Drupal descarga las traducciones de la interfaz. Una vez completado el proceso, el idioma aparecerá en la lista y estará listo para utilizarse. - Decidir qué debe traducirse: en cada tipo de contenido, habilita la traducción y elige qué campos serán traducibles y cuáles permanecerán compartidos entre todos los idiomas. Es importante tomar esta decisión desde el principio, ya que configurar correctamente los campos ahora evitará modificaciones complejas más adelante.
- Traducir el contenido: abre cualquier entidad traducible y utiliza la pestaña Traducciones para añadir una versión en cada idioma. Cada versión lingüística dispone de su propia URL y puede publicarse de forma independiente según su propio calendario.
- Traducir la configuración y la interfaz: localiza el nombre del sitio, los menús y las vistas mediante Traducción de la configuración, y sobrescribe las cadenas del sistema que sean necesarias mediante Traducción de la interfaz de usuario.
- Añadir un selector de idioma: coloca el bloque del selector de idioma para que los visitantes puedan cambiar fácilmente entre las distintas versiones lingüísticas. Utiliza el nombre del idioma en lugar de una bandera: una bandera representa un país, no un idioma, y puede confundir a los usuarios cuando un mismo idioma se habla en varios países.
Un consejo práctico que comparten muchos equipos con experiencia en Drupal: comienza con el idioma principal y un único idioma secundario, asegúrate de que todo el flujo de trabajo de traducción funciona correctamente de principio a fin y solo después añade más idiomas. Validar el proceso con dos idiomas resulta mucho más económico que descubrir un problema estructural cuando ya se han incorporado seis.
Negociación de idioma: cómo decide Drupal qué idioma mostrar
La negociación de idioma es la función principal que determina qué idioma verá un visitante, y configurarla correctamente es un aspecto fundamental de la gestión multilingüe. Drupal puede identificar el idioma adecuado a partir de varias señales, aplicadas en el orden que tú definas: la URL (por ejemplo, un prefijo de ruta como /es o un dominio), la preferencia de idioma de la cuenta del usuario, la configuración de idioma del navegador, la sesión o un idioma predeterminado fijo.
Para la mayoría de los sitios, la detección basada en la URL es el método principal más recomendable: proporciona a cada versión lingüística una dirección única, fácil de compartir e indexable por los motores de búsqueda, además de ofrecer un comportamiento predecible. La negociación de idioma también puede configurarse por separado para el contenido y para la interfaz de administración. Gracias a ello, muchos equipos mantienen el sitio público completamente localizado mientras conservan el panel de administración en un único idioma de trabajo para sus editores. El orden de estos métodos de detección es importante: el método más específico y elegido de forma explícita (la URL) debe situarse por encima de señales menos determinantes (como el idioma predeterminado del navegador), de modo que la elección deliberada del usuario tenga siempre prioridad.
Elegir un flujo de trabajo de traducción
La interfaz de traducción incluida en el núcleo de Drupal es suficiente para un sitio pequeño, pero a medida que aumentan el volumen de contenido y el tamaño del equipo, el flujo de trabajo se convierte en el factor que realmente determina si un sitio multilingüe puede mantenerse actualizado. Existen tres enfoques principales, y la elección del más adecuado depende de la escala del proyecto y de cómo se gestionen las traducciones.
- Traducción manual dentro de Drupal: los editores y traductores inician sesión y traducen directamente mediante la interfaz nativa de Drupal. Es la opción ideal para sitios pequeños —por ejemplo, un sitio con entre 20 y 30 páginas en dos idiomas— donde el volumen de contenido es reducido y todo el equipo trabaja dentro de Drupal.
- Exportación e importación mediante archivos de traducción: el contenido se exporta (normalmente en formato XLIFF), se envía a los traductores y, una vez traducido, se vuelve a importar. Este enfoque resulta adecuado para equipos que colaboran con traductores externos que no utilizan Drupal y para contenidos que se actualizan en lotes de forma periódica.
- TMGMT (Translation Management Tool): un módulo adicional que convierte la traducción en un proceso gestionado dentro de Drupal. Permite crear trabajos de traducción, asignarlos a un equipo interno o a proveedores externos, realizar un seguimiento de su estado e integrarse con distintos servicios y motores de traducción automática. Es la opción estándar para sitios medianos y grandes con un volumen elevado de contenido.
Existen dos herramientas adicionales que hacen estos flujos de trabajo aún más sólidos. Content Moderation permite definir el recorrido de una traducción desde borrador hasta revisión y publicación, evitando que una traducción automática o una versión aún en proceso se publique por accidente. Por su parte, Translation Views o los paneles de control de traducciones permiten supervisar el estado de las traducciones en todo el sitio: qué contenido ya está traducido, cuál sigue en proceso y cuál aún está pendiente. Para la mayoría de los proyectos medianos y grandes, la combinación de TMGMT con una revisión humana representa el equilibrio ideal: la automatización aporta velocidad y las personas garantizan la calidad en las páginas más importantes.
Errores comunes en la gestión multilingüe y cómo evitarlos
La mayoría de los problemas relacionados con el soporte multilingüe en Drupal no se deben a limitaciones de la plataforma, sino a un pequeño conjunto de decisiones que pueden evitarse fácilmente:
- Definir demasiado tarde qué campos son traducibles: cambiar la configuración de los campos traducibles cuando ya existen traducciones puede provocar la pérdida de datos. Determina qué campos serán traducibles y cuáles permanecerán compartidos antes de iniciar un proceso de traducción a gran escala.
- Traducir el contenido, pero olvidar la configuración: un sitio con artículos completamente traducidos, pero con el menú, el nombre del sitio o las vistas sin traducir, ofrece una experiencia inconsistente. Considera la traducción de la configuración como una parte esencial del proyecto, no como una tarea secundaria.
- Publicar traducciones automáticas sin revisar: la traducción automática puede ser un excelente punto de partida, pero no debe considerarse el resultado final. Un texto sin revisión puede sonar poco natural y reducir la confianza de los usuarios. Todo el contenido importante debería pasar por una revisión humana antes de publicarse.
- Utilizar banderas para representar idiomas: una bandera representa un país, no un idioma. Utiliza los nombres de los idiomas en el selector para evitar confundir a los hablantes de idiomas que se utilizan en varios países.
- No definir un comportamiento para las traducciones inexistentes: decide de antemano qué debe ocurrir cuando una página no tenga traducción: mostrar la versión en el idioma predeterminado u ocultarla. Evita dejar a los visitantes frente a una página vacía o con errores.
- Modificar la estructura de los widgets de traducción sin precaución: al trabajar con contenido estructurado, como Paragraphs, cambiar a un modelo de traducción asimétrica cuando ya existen traducciones puede provocar la pérdida de datos. Antes de realizar cambios estructurales, pruébalos en una copia del sitio.
Una buena gestión multilingüe depende, sobre todo, de una planificación disciplinada: diseñar correctamente la estructura del contenido desde el principio, traducir las tres capas (contenido, interfaz y configuración) y proporcionar a cada idioma una URL clara y predecible junto con un flujo de trabajo bien definido. Implementar correctamente los aspectos de SEO —como hreflang, la estructura de las URL y la investigación de palabras clave para cada mercado— constituye una disciplina relacionada, pero independiente, que abordamos en nuestra guía sobre SEO multilingüe en Drupal y que se basa directamente en la misma infraestructura de idiomas descrita en nuestra guía de SEO para Drupal.
Preguntas frecuentes sobre la gestión multilingüe en Drupal
¿Necesito un módulo adicional o es suficiente con el núcleo de Drupal?
Para la mayoría de los sitios, los cuatro módulos principales del núcleo de Drupal son suficientes para añadir idiomas y traducir el contenido, la interfaz y la configuración. Los módulos adicionales resultan necesarios cuando aumentan las necesidades del proyecto: TMGMT para gestionar los flujos de trabajo de traducción e integrarse con proveedores de servicios de traducción o motores de traducción automática; una mejora del selector de idioma para ofrecer una experiencia de usuario más intuitiva; o un módulo de importación y exportación de traducciones de configuración cuando las traducciones se preparan fuera de Drupal. Lo más recomendable es comenzar con las funcionalidades del núcleo y añadir herramientas adicionales solo cuando exista una necesidad real.
¿Debo utilizar un único sitio multilingüe o una configuración multisitio?
Para la mayoría de las organizaciones, la mejor opción es una única instalación de Drupal con versiones en distintos idiomas (por ejemplo, /en y /es): una sola base de código, estructuras de contenido compartidas y actualizaciones centralizadas. Una configuración multisitio solo tiene sentido cuando cada mercado requiere una separación operativa real, con equipos distintos, contenidos diferentes y una gestión independiente. El modelo de sitio único simplifica la administración y concentra la autoridad del dominio, por lo que es la opción recomendada por defecto para la mayoría de los proyectos multilingües.
¿Puedo cambiar qué campos son traducibles después de lanzar el sitio?
Sí, es posible, pero una vez que ya existen traducciones conlleva ciertos riesgos: cambiar la configuración de un campo traducible puede provocar la pérdida de datos. La opción más segura es decidir qué campos serán traducibles y cuáles permanecerán compartidos durante la fase de modelado del contenido, antes de iniciar un proceso de traducción a gran escala. Si más adelante el cambio resulta inevitable, pruébalo primero en un entorno de pruebas y realiza una copia de seguridad para comprobar que las traducciones existentes no se vean afectadas antes de aplicar los cambios en el entorno de producción.