Indicar el idioma de destino de un enlace

Pregunta

¿Qué debo tener en cuenta si quiero indicar al lector que un enlace dirige a una página en otro idioma?

Respuesta

Ventajas y desventajas

Si un visitante de una página web sigue un enlace y descubre que no entiende el idioma en el que está escrito el documento de destino, sentirá que está perdiendo el tiempo y, si es algo que ocurre a menudo, podría llegar a resultarle molesto. Con el tiempo, podría mostrar desconfianza al encontrarse enlaces que de verdad dirigen a páginas que sí puede leer.

Añadiendo un texto o gráfico al enlace que indique que el documento de destino está en otro idioma, se le dará al lector la oportunidad de decidir de antemano si quiere o no seguir el enlace, según sus conocimientos del idioma, y así se evitarán estos problemas.

Sin embargo, existen problemas potenciales con este enfoque si se publica una nueva versión traducida del documento de destino en una fecha posterior.

Supongamos, por ejemplo, que una página francesa utilizó este enfoque hace algún tiempo para enlazar a una segunda página que en ese momento solo estaba disponible en inglés. Más tarde, la página de destino se traduce al francés. A menos que se actualice la primera página en francés, ahora se estaría advirtiendo incorrectamente a los lectores franceses de que la segunda página está en inglés, y posiblemente se les estará disuadiendo de seguir un enlace a lo que ahora es en realidad un documento perfectamente legible.

También hay que decidir cuál es la mejor forma de comunicar al lector si el documento de destino está disponible en otros idiomas. Por ejemplo, si el usuario está leyendo una página en húngaro y el enlace dirige a información que no está disponible en húngaro, pero que está disponible tanto en inglés como en alemán, ¿qué se le debería indicar al lector? Es posible que el lector prefiera la versión alemana a la inglesa, o viceversa. Esto se vuelve más problemático cuanto mayor es el número de traducciones alternativas disponibles.

Es necesario valorar estas ventajas y desventajas a la hora de decidir si marcar o no los enlaces de esta forma.

Uso de hreflang con CSS para indicar el idioma

Si decide que quiere indicar el idioma del recurso al que dirige un enlace, lo que se hacía en el pasado era utilizar un atributo hreflang y algo de CSS para proporcionar la información al lector.

En HTML, el atributo hreflang en un elemento a debe indicar el idioma del documento al que dirige el enlace. Es importante tener en cuenta que la especificación HTML dice que el navegador no debe utilizar la información de hreflang para elegir la versión del idioma. Al obtener el recurso, los navegadores solo deben utilizar la información de idioma asociada con el recurso para determinar su idioma, y no los metadatos incluidos en el enlace al recurso.

Teniendo en cuenta las ventajas y desventajas mencionadas anteriormente, hreflang podría ser una buena manera de indicar al lector el idioma del recurso al que dirige el enlace para casos sencillos. No obstante, también presenta problemas significativos.

Por ejemplo, si un recurso está disponible en varios idiomas a través de la negociación de contenido del lado del servidor, no es posible expresar la variedad de idiomas disponibles, ya que el atributo hreflang solo acepta un idioma como valor.

Detalles de la implementación

A continuación, puede observarse un ejemplo de cómo se ha utilizado hreflang en el pasado. El siguiente contenido tiene un enlace que dirige a una página en sueco.

También hay una página que describe por qué es útil un DOCTYPE [sv].

Se puede conseguir con el siguiente marcado:

<p>También hay una página que describe <a href="swedish-doc.html" hreflang="sv">por qué es útil un DOCTYPE</a>.</p>

El código para habilitar esto en CSS sería algo así:

a[hreflang]:after { 
    content: " [" attr(hreflang) "]"; 
    color: #999;
    vertical-align: super;
    font-size: 70%;
    }

Para cada elemento a con un atributo hreflang, el CSS indica el valor de ese atributo entre corchetes después del enlace.

Se podría añadir fácilmente texto o incluso un gráfico después del enlace asociándolo con la propiedad de content, en lugar de attr(hreflang). Esta podría ser la mejor opción si no sabemos con seguridad si los lectores reconocerán las abreviaturas ISO.

Este es el CSS. Se necesitarán reglas de estilo para cada idioma con el que se trabaje.

a[hreflang]:after { 
    color: #999;
    vertical-align: super;
    font-size: 70%;
    }
a[hreflang = 'sv']:after { 
    content: " [Swedish]"; 
    }
a[hreflang = 'fi']:after { 
    content: " [Finnish]"; 
    } 
etc.

Para el sueco, el resultado mostrado sería:

También hay una página que describe por qué es útil un DOCTYPE [Swedish].

¡No utilice banderas para indicar idiomas!

Las banderas representan países, no idiomas.

Muchos países utilizan el mismo idioma que otro país, y numerosos países tienen más de un idioma oficial. Las banderas no funcionan bien en estos casos.

Además, las banderas tienen connotaciones nacionalistas que podrían no ser bien recibidas por personas de otros países, aunque hablen el mismo idioma.

Si bien las banderas pueden ser muy apropiadas para sitios web distinguidos en base a la región (p. ej., amazon.co.uk vs. amazon.ca), normalmente deben evitarse cuando se trata de enlaces a páginas que solo son traducciones.