Una Web Multiidioma que Funcione de Verdad
Esta web existe en neerlandés, inglés y español, así que este artículo describe en parte nuestras propias decisiones, y las que primero tomamos mal.
Traducir las palabras es la parte que todo el mundo planifica. Lo que rompe los proyectos es todo lo que hay alrededor.
Decide qué estás haciendo en realidad
Tres cosas distintas se llaman "multiidioma", y piden respuestas distintas.
Mismo contenido, otros idiomas. Una empresa, una oferta, tres públicos. Es el caso de la mayoría y el más sencillo.
Contenido distinto por mercado. Otros servicios, otros precios, otros requisitos legales. Ahora tienes tres webs que comparten diseño.
Mismo idioma, países distintos. Español para España y para México, o neerlandés para Países Bajos y Bélgica. Otra moneda, otras condiciones, a veces otro vocabulario.
Equivócate en esta decisión y pelearás contra tu propia arquitectura durante años. Casi todas las pymes necesitan la primera y adoptan la maquinaria de la tercera porque un plugin se la ofreció.
Estructura de URL
Tres opciones, y la elección es casi permanente.
Subdirectorios — example.com/nl/, /en/, /es/. Toda la autoridad se acumula en un dominio, un certificado, una configuración. Es lo que usamos y lo que recomendamos a casi todo el mundo.
Subdominios — nl.example.com. Separación más limpia, pero repartes tu autoridad entre hosts a cambio de muy poco.
Dominios por país — example.nl, example.es. La señal local más fuerte y, con diferencia, el mayor trabajo: dominios separados, alojamientos separados, autoridad separada que construir desde cero. Merece la pena si de verdad operas por países, y es una trampa si no.
Elijas lo que elijas, el idioma tiene que estar en la URL. Una web que muestra idiomas distintos en la misma dirección no se puede indexar bien, no se puede compartir y no se puede guardar en el idioma que alguien quería.
hreflang, y las tres formas de estropearlo
hreflang le dice a los buscadores que estas páginas son el mismo contenido en idiomas distintos, para que se muestre la correcta a cada persona y no compitan entre sí.
Las reglas son cortas e implacables:
Cada versión debe listar todas las versiones, incluida ella misma. Si tu página en neerlandés declara la inglesa pero la inglesa no declara nada, la relación está rota y se ignora.
Incluye x-default. Dice qué versión servir a quien no encaje en las demás.
Usa los códigos correctos. Idioma, o idioma-región: "es", o "es-ES" y "es-MX". No "es-latam", que no existe.
Los tres fallos que más vemos, por orden: faltan los enlaces de vuelta en una versión; hreflang apunta a una URL que redirige en vez de a la final; y hreflang en páginas que no son realmente traducciones entre sí, lo que pasa cuando alguien reorganiza un idioma y no los otros.
Search Console informa de los problemas de hreflang, y merece la pena mirarlo después de cualquier cambio estructural.
Detección de idioma: con suavidad
El patrón que molesta a todo el mundo es la redirección automática por IP. Un neerlandófono de viaje por España recibe una página en español. Quien abre a propósito la versión inglesa sale rebotado. Un rastreador ubicado en Estados Unidos no ve nunca más que una versión.
Algo así funciona mejor: mira primero una preferencia guardada, después la cabecera Accept-Language del navegador, después el país como pista débil, y recurre a tu idioma principal si nada de eso ayuda. Deja después que el visitante lo cambie, recuerda lo que eligió, y no vuelvas a redirigirlo nunca.
La parte visible también cuenta. El selector debe mostrar cada idioma en ese idioma — Nederlands, English, Español, no banderas. Las banderas son países, no idiomas, y esto se falla constantemente: ¿qué bandera pones para el inglés, y qué le parece la neerlandesa a un belga?
Mantener tres versiones al día
Aquí es donde mueren de verdad los proyectos multiidioma. No al traducir, sino al desincronizarse. Alguien actualiza los precios en neerlandés. Tres meses después la página española sigue con los del año pasado.
Dos cosas lo evitan.
Estructura el contenido para que una traducción ausente sea imposible de ignorar. En nuestro caso cada texto está tipado como un registro con los tres idiomas obligatorios, así que añadir un idioma hace que el compilador liste cada cadena que falta en vez de servir inglés en silencio. Si tu gestor puede imponer algo parecido, actívalo.
Ten un momento en el que se traduce. No "ya lo traduciremos", que significa nunca. O sale en tres idiomas o no sale.
Los detalles que se olvidan
- El atributo lang del elemento html, correcto en cada página. Los lectores de pantalla lo usan para elegir la pronunciación.
- Fechas, números y moneda con el formato de cada sitio. 1.495 en neerlandés y español, 1,495 en inglés. Equivocarse aquí hace que un precio parezca diez veces mayor o menor.
- Formularios y mensajes de error, que suelen ser lo último que alguien traduce y lo primero que ve un cliente cuando algo va mal.
- Los correos. La confirmación tras el formulario debe ir en el idioma que usaron.
- Las páginas legales. La política de privacidad y las condiciones tienen que estar en un idioma que el cliente entienda, y en algunos contextos eso es una exigencia y no una cortesía.
- La página 404, justo el momento en que alguien ya está molesto.
Sobre la traducción automática
Úsala para el primer borrador y que después alguien que habla el idioma lea cada línea. Esa combinación es muchísimo más rápida que traducir desde cero y produce un texto que se lee como escrito por una persona.
Publicada en crudo, la traducción automática da una prosa gramaticalmente correcta y sutilmente equivocada de tono — y en un mercado donde ya eres de fuera, esa es justo la impresión que no te puedes permitir. Es además el único atajo cuya factura cae entera sobre el mercado al que intentabas entrar.
Seguir leyendo
¿Necesitas ayuda con tu proyecto?
Asesoramiento directo y personal sobre tu proyecto: respuesta en menos de 24 horas, en español, neerlandés o inglés