Tipos de declaración de idioma

En Web siempre es importante asociar el contenido con la información lingüística. Esto es importante, por un lado, para que el contenido pueda ser procesado o presentado correctamente al lector, pero por otro lado, también puede ser importante conocer el idioma o idiomas de la audiencia a la que va dirigido el recurso en su conjunto. Estas son dos cosas diferentes: las tecnologías deben proporcionar formas separadas de expresar cada una de ellas, y los autores de los contenidos deben utilizarlas adecuadamente.

Este artículo describe cómo difieren estos dos tipos de información lingüística ("metadatos" y "procesamiento de texto").

El lenguaje y el tratamiento de textos

Un navegador o aplicación generalmente necesita tener en cuenta el lenguaje cuando muestra o manipula el contenido. Esto incluye cosas como texto hablado en un navegador de voz, ejecutar un corrector ortográfico, cambiar el estilo de las líneas, aplicar la separación silábica, elegir las fuentes predeterminadas y muchas otras cosas que se deben hacer de una manera específica para cada idioma. Para ello, necesita saber con qué lenguaje específico está tratando para un rango específico de texto.

Así que, por necesidad, estamos hablando de asociar un solo idioma con el texto, o algún tipo de texto, dentro del recurso. Mientras que el público al que se dirige puede ser hablante de más de un idioma, un rango específico de texto sólo puede estar en un idioma a la vez.

En HTML, el atributo lang se utiliza para especificar el lenguaje de procesamiento de texto. Se puede utilizar para establecer un valor predeterminado para la página en su conjunto y para los fragmentos internos en los que cambia el idioma.

<html lang="es">

...

<p>El título del libro es "<cite lang="el">Κάνοντας τον Παγκόσμιο Ιστό πραγματικά Παγκόσμιο</cite>".</p>

Esta necesidad de especificidad tiene implicaciones sobre cómo se declara el lenguaje para el procesamiento de textos. Por ello, el atributo lang sólo permite utilizar un único valor de idioma.

Metadatos: el lenguaje de la audiencia destinataria

Los metadatos que describen el idioma o los idiomas de la audiencia versan sobre el documento/recurso en su conjunto. Estos metadatos se pueden utilizar para la búsqueda, para usar la versión del idioma adecuado, para la gestión del flujo de trabajo, para la clasificación, etc.

El idioma del público destinatario no incluye necesariamente todos los idiomas utilizados en un documento. Muchos documentos en la Web contienen fragmentos de contenido en diferentes idiomas, mientras que la página en sí está claramente dirigida a los hablantes de un idioma en particular. Por ejemplo, una guía alemana de Pekín puede contener frases útiles en chino, pero está dirigida a un público de habla alemana, no china.

Por otro lado, también es posible que una página contenga el mismo contenido o contenido paralelo en más de un idioma. Por ejemplo, una página web canadiense puede dar la bienvenida a lectores con contenido en francés en la columna de la izquierda, y el mismo contenido en inglés en la columna de la derecha. Aquí el documento está dirigido igualmente a hablantes de ambos idiomas, por lo que hay dos idiomas de audiencia. Esta situación no es tan común online como lo es en material impreso, ya que es fácil enlazar páginas separadas en la Web para diferentes audiencias, pero ocurre cuando hay comunidades multilingües. Otro caso de uso es un blog o una página de noticias dirigida a una comunidad multilingüe, donde algunos artículos de una página están en un idioma y otros en otro. Por ejemplo, un foro utilizado por una comunidad punjabi puede contener mensajes en inglés, hindi y punjabi en un solo tema.

También hay páginas donde la información de navegación, incluyendo el título de la página, está en un idioma pero el contenido real de la página está en otro. Si bien esto no es necesariamente una buena práctica, no cambia el hecho de que el idioma de la audiencia a la que se dirige es generalmente el del contenido, independientemente del idioma de la parte superior de la fuente del documento.

Para una página HTML, los metadatos sobre la audiencia pueden ser expresados en un encabezado HTTP en el Content-Language . Este encabezado de contenido puede tener múltiples valores.

Content-Language: en, hi, pa

Las páginas HTML a veces contienen un meta elemento que puede declarar el lenguaje de forma similar, por ejemplo, <meta http-equiv="content-language" content="en, fr"/>, pero esta construcción está obsoleta y no debería utilizarse. (Para más detalles, ver Headers HTTP, meta elementos e información de lenguaje.)

Inferir el lenguaje de procesamiento de texto a partir de metadatos

En algunos casos, puede ser posible inferir el lenguaje de procesamiento de texto a partir de los metadatos del recurso, pero no siempre.

Si el valor de los metadatos es una lista de más de un idioma, debe haber una forma de identificar qué idioma usar cuando se trata de procesar el contenido.

Además, cuando hay cambios de idioma dentro de un documento, la información sobre el idioma del público al que se dirige no puede asociarse con la parte apropiada de la página o documento como sería necesario para el procesamiento de texto (es decir, de la manera correcta para la aplicación de la conversión de texto a voz, el estilo, la asignación automática de fuentes, etc., a las diferentes partes del documento).

Por lo tanto, al desarrollar una nueva tecnología o formato de datos, los desarrolladores deben proporcionar métodos separados para expresar el lenguaje de la audiencia destinataria frente al lenguaje de procesamiento de texto.

Los desarrolladores de contenidos deben utilizar correctamente las construcciones disponibles.

Para obtener información acerca de cómo establecer el idioma en HTML, consulte Cómo declarar el idioma en HTML.