Etiquetas de idioma en HTML y XML

Audiencia de destino: codificadores de XHTML/HTML (que usen editores o lenguaje de script), desarrolladores de sistemas de escritura (PHP, JSP, etc.), desarrolladores de esquemas (DTD, XML Schema, RelaxNG, etc.), desarrolladores de XSLT, gerentes de proyectos web, implementadores de estándares, y todo aquel que busque conocer los aspectos generales de la construcción de etiquetas de idioma de acuerdo con BCP47.

Nota: Desde la traducción de este documento se han producido modificaciones en el original en Inglés. Consulte el registro de cambios.

Generalidades

Terminología

En este artículo, se hace referencia al valor de un atributo de idioma, por ejemplo, fr-CA como etiqueta de idioma. Los componentes fr y CA se denominan subetiquetas cuando se los describe como partes de una etiqueta. Cuando se los describe como integrantes de una lista ISO de idiomas o países, fr y CA se denominan códigos.

Las etiquetas de idioma se utilizan para indicar el idioma en el que está escrito el texto u otros elementos en documentos HTML y XML. Se utilizan el atributo lang para indicar etiquetas de idioma en HTML y el atributo xml:lang para XML.

En ambos casos, la información relativa al idioma se hereda de los elementos incluidos donde se hizo la declaración, salvo que uno de dichos elementos indique un idioma diferente (de la misma manera).

RFC es el nombre que da el IETF a sus especificaciones. Cada RFC tiene un número exclusivo. Lamentablemente, al leer las RFC 1766 ó RFC 3066 no es posible advertir que estas especificaciones han quedado obsoletas y han sido reemplazadas por otras.

La sintaxis de las etiquetas de idioma se encuentra definida en la especificación desarrollada por el IETF:BCP 47. BCP significa "Best Current Practice" (Mejor práctica actual), y es un nombre persistente para una serie de RFC cuyos números cambian cuando se actualizan. La última especificación RFC (Request for Comment, solicitud de comentarios) que describe la sintaxis de las etiquetas de idioma es la RFC 5646, Etiquetas para la identificación de idiomas, que reemplaza a las anteriores RFC 4646, 3066 y 1766.

Para buscar subetiquetas, antes era necesario consultar listados de códigos en distintas normas ISO. Ahora es posible encontrar todas las subetiquetas en el registro de la IANA Registro de subetiquetas de idioma. A continuación, describiremos el nuevo registro.

Nota:Si necesita una guía paso a paso para seleccionar una etiqueta de idioma, consulte Cómo seleccionar una etiqueta de idioma. A continuación encontrará información algo más avanzada acerca de las características generales de la sintaxis y de los conceptos vinculados con las etiquetas de idioma que se describen en la BCP 47.

La mayoría de las etiquetas de idioma están formadas por una subetiqueta de idioma de dos o tres letras. Habitualmente, esta subetiqueta está acompañada por otra de dos letras o tres dígitos que indica la región. La RFC 5646 también permite el uso de cierta cantidad de subetiquetas adicionales cuando sea necesario. Estas subetiquetas, que se describirán brevemente en la próxima sección, incluyen también subetiquetas de idioma extendidas, de sistemas de escritura, de variante, de extensión y de uso privado.

La regla de oro para la creación de etiquetas de idioma es procurar que la etiqueta sea lo más breve posible. Se deben evitar las subetiquetas de región o de sistema de escritura, entre otras, a menos que aporten información distintiva que resulte de utilidad. Por ejemplo, utilice ja para japonés y no ja-JP, salvo que exista un motivo específico por el que sea necesario explicar que se trata del idioma japonés tal como se habla en Japón.

Ejemplos:

Código Idioma Subetiquetas
en Inglés language
mas Masai language
fr-CA Francés hablado en Canadá idioma+región
es-419 Español hablado en América Latina idioma+región
zh-Hans Chino en el sistema de escritura simplificado idioma+sistema de escritura

HTML y XML ofrecen también un mecanismo para evitar la herencia de idioma mediante el empleo de la secuencia vacía, es decir, xml:lang="". Fundamentalmente significa: no deseo vincular esta información con ningún idioma.

En lo que resta de este artículo, se brindan detalles adicionales sobre cómo construir etiquetas de idioma.

Construcción de etiquetas de idioma

Algunas diferencias esenciales entre la RFC 5646 y especificaciones anteriores, como la RFC 3066, son las siguientes:

  1. Existe un único lugar para buscar subetiquetas válidas, el nuevo registro de la IANA.
  2. La ubicación y longitud de las subetiquetas son fijas, lo que facilita la correspondencia entre etiquetas de idioma.
  3. Existe mayor flexibilidad entre los posibles componentes de una etiqueta de idioma.

Básicamente, la RFC 3066 permitía componer etiquetas de idioma que podían ser un código de idioma independiente, un código de idioma más un código de país, o bien un valor tomado de una pequeña lista de valores especialmente registrados en el Registro de etiquetas de idioma de la IANA.

La RFC 5646 incluye más tipos de subetiquetas y permite combinarlas de distintas formas. Si bien esta modificación pareciera complicar las cosas, en términos generales, la selección de etiquetas de idioma seguirá siendo una tarea sencilla. No obstante, el usuario podrá tener capacidades adicionales cuando sea necesario. De hecho, la mayoría considera que la RFC 5646 realmente debería simplificar este proceso en varios aspectos. Por lo pronto, hoy existe un único lugar donde encontrar subetiquetas válidas.

Si bien incorpora algunas opciones adicionales para la identificación de variaciones comunes de ciertos idiomas, la RFC 5646 incluye todas las etiquetas que ya eran válidas. Si ha estado utilizando las especificaciones RFC 1766, RFC 3066 o RFC 4646, no debe realizar modificación alguna a las etiquetas.

En la siguiente lista se muestran los distintos tipos de subetiquetas disponibles. En las próximas secciones se describen las características de estos elementos y se explica cómo utilizarlos.

language-extlang-script-region-variant-extension-privateuse

Las entradas en el registro siguen ciertas convenciones vinculadas con el uso de mayúsculas y minúsculas. Por ejemplo, para etiquetas de idioma, se usa minúscula; para subetiquetas alfabéticas de región, se usa mayúscula y para etiquetas de sistemas de escritura, se utiliza mayúscula inicial. ¡Pero es sólo una convención! Al utilizar estas subetiquetas puede elegir libremente el formato que desee, a menos que el sistema con el que trabaja tenga requerimientos específicos en este sentido. Para el lenguaje de etiquetas en HTML y XML, el uso de mayúsculas o minúsculas es indistinto.

Cómo utilizar el registro de subetiquetas

Como se mencionó más arriba, para buscar subetiquetas antes se consultaban las listas de códigos en las distintas normas ISO, pero ahora es posible encontrar todas las subetiquetas en un único lugar. El registro de la IANA parece algo complejo a simple vista en comparación con las listas de códigos ISO, pero una vez que el usuario se familiariza con su estructura, resulta muy fácil de usar.

Este registro consiste en un extenso archivo de texto. Para localizar una subetiqueta de idioma, se debe buscar en la página el nombre del idioma en inglés. Si busca "French" (francés), encontrará el siguiente registro:

%%
Type: language
Subtag: fr
Description: French
Added: 2005-10-16
Suppress-Script: Latn
%%

Observe que el tipo de este registro es language. Lo que usted busca es el código denominado Subtag que indica un valor para fr.

De esta misma manera es posible encontrar cualquier otra etiqueta. Por ejemplo, para crear una etiqueta fr-CA (francés hablado en Canadá), debe buscar Canada y verificar que haya encontrado una etiqueta del tipo region.

Sin embargo, existen algunas cuestiones adicionales a tener en cuenta al seleccionar subetiquetas. Por ejemplo, se deben evitar las subetiquetas que se describan en el registro como redundantes o desaprobadas y debe usar subetiquetas de variantes en combinación con ciertas subetiquetas indicadas. Para más información sobre la selección de subetiquetas, consulte Cómo seleccionar una etiqueta de idioma.

Richard Ishida ha creado también una herramienta de búsqueda en el registro que resulta amigable para el usuario.

En las siguientes secciones se proporcionan más detalles acerca de subetiquetas específicas.

Subetiqueta de idioma primaria

Subetiquetas de idioma

en
ast

Más información en la especificación BCP 47:

2.2.1 Subetiqueta de idioma primaria

4.1 Selección de una etiqueta de idioma

4.1.1 Etiquetado de los idiomas abarcados

Todas las etiquetas de idioma deben comenzar con una subetiqueta de idioma primaria.

Algunos ejemplos de etiquetas simples que sólo indican idioma son:

Estos códigos provienen de los códigos de idiomas ISO 639 y se mantienen actualizados en función de dicha norma.

Debido a que la RFC 3066 no incluía una lista de subetiquetas válidas y simplemente remitía a los usuarios a la norma ISO 639, muchas veces resultaba confuso etiquetar idiomas cuando las listas de códigos ISO contenían códigos tanto de dos como de tres letras (y, en algunos casos, más de un código de tres letras). Ahora, todas las subetiquetas válidas se incluyen en un único registro de la IANA, que adopta un solo valor por idioma de las listas ISO. Si existe un código ISO de dos letras, será el que aparecerá en el registro. De lo contrario, en el registro figurará un código de tres letras. Esto debería simplificar el proceso.

Cuando se publicó la RFC 5646, se incorporaron más de 7.000 nuevos códigos ISO 639-3 de tres letras al Registro de subetiquetas.

Este es un ejemplo de cómo se ve en el registro la subetiqueta de idioma primaria para español, es:

%%
Type: language
Subtag: es
Description: Spanish
Description: Castilian
Added: 2005-10-16
Suppress-Script: Latn
%%

Si bien es indistinto el uso de mayúsculas y minúsculas en términos de escritura de códigos, generalmente se utilizan letras minúsculas, pero se trata simplemente de una convención.

Subetiqueta de idioma extendida

Subetiquetas de idioma extendidas

zh-yue
ar-afb

Más información en la especificación BCP 47:

2.2.2 Subetiquetas de idioma extendidas

4.1.2 Uso de subetiquetas de idioma extendidas

En este artículo, las subetiquetas de idioma extendidas se denominan subetiquetas extlang. Una subetiqueta extlang debe estar siempre precedida por una subetiqueta de idioma primaria específica. Una etiqueta de idioma sólo puede contener una subetiqueta extlang, que se debe ubicar antes de cualquier otra subetiqueta.

Algunos ejemplos de etiquetas de idioma que incluyen subetiquetas extlang:

Las combinaciones idioma+extlang se proporcionan para abarcar variantes de etiquetas de idioma preexistentes; sin embargo, existe una única subetiqueta de idioma disponible para cada combinación idioma+extlang. Toda vez que sea posible, se debe usar la subetiqueta de idioma en lugar de la combinación idioma+extlang. Por ejemplo, se debe usar yue en lugar de zh-yue para cantonés, y afb en lugar de ar-afb para árabe del Golfo cuando sea posible.

Las subetiquetas extlang tienen siempre una extensión de 3 letras. Cada entrada extlang en el registro contiene un campo Prefix en el que se especifica el idioma que debe preceder a la subetiqueta extlang. Las entradas también incluyen un campo denominado Preferred-Value en el que se indica la etiqueta de idioma equivalente.

Este es un ejemplo de cómo aparece en el registro el código extlang para árabe del Golfo, afb:

%%
Type: extlang
Subtag: afb
Description: Gulf Arabic
Added: 2009-07-29
Preferred-Value: afb
Prefix: ar Macrolanguage: ar
%%
			

Macroidiomas Las subetiquetas de idioma primarias utilizadas con una subetiqueta extlang se conocen como macroidiomas y comprenden distintos idiomas con subetiquetas de idioma primarias más específicas. Las subetiquetas de macroidiomas se pueden usar solas, pero a menos que exista algún tipo de convención acerca de su significado dentro del contexto en el que se utilizan, no son lo suficientemente precisas.

Por ejemplo, zh significa chino, pero abarca varios dialectos chinos que generalmente resultan incomprensibles entre sí. Cuando se usa zh en forma independiente, habitualmente se usa para representar el idioma predominante dentro del grupo al que se hace referencia, a pesar de que esto no se especifica explícitamente en la BCP 47. Por ejemplo, por convención se considera que zh representa la forma predominante de mandarín del idioma chino. Cuando se requiere extrema claridad, y siempre que no obstaculice la interoperabilidad, se puede reemplazar por cmn. Sin embargo, si se está usando zh para representar un idioma que no es mandarín, como chino hakka, es preferible utilizar el código explícito (en el caso del ejemplo, hak).

Por otra parte, en zh-Hans, zh se usa en sentido genérico. Esta es una manera muy útil de describir la escritura en chino simplificado, ya que el chino tiende a escribirse de la misma forma independientemente del dialecto del lector.

Subetiqueta de script

Subetiquetas de sistema de escritura

zh-Hans
az-Latn

Más información en la especificación BCP 47:

2.2.3 Subetiqueta de sistema de escritura

4.1 Selección de una etiqueta de idioma

Algunos ejemplos de etiquetas de idioma que incluyen subetiquetas de sistema de escritura:

La subetiqueta de sistema de escritura se introdujo por primera vez en la RFC 4646. Las subetiquetas provienen de la lista de códigos de sistemas de escritura ISO 15924 y se mantienen actualizadas sobre la base de esta norma.

Una etiqueta de idioma sólo puede contener una subetiqueta de sistema de escritura, que se debe ubicar inmediatamente a continuación del idioma o de cualquier subetiqueta extlang. Siempre está compuesta por cuatro letras.

Sólo se deben usar etiquetas de sistema de escritura cuando sean necesarias para indicar una distinción. Como coautor de la RFC 4646, Addison Phillips afirma: "Prácticamente para cualquier contenido que hoy no emplee una etiqueta de sistema de escritura, la mejor práctica sigue siendo no usar etiqueta alguna en el futuro".

Si desea indicar específicamente que el contenido no es material escrito, existe una subetiqueta especial para hacerlo. Por ejemplo, podría usar en-Zxxx para aclarar que una grabación de audio en inglés no es contenido escrito.

De hecho, en muchas entradas de subetiquetas de idioma del registro, se desaconseja expresamente el uso de etiquetas de sistema de escritura mediante la inclusión del campo Supress script. Dicho campo se muestra en el ejemplo anterior para español. Allí se indica que el español normalmente se escribe con caracteres latinos y, por lo tanto, la subetiqueta Latn no debería usarse con es.

En este ejemplo, se muestra la entrada en el registro para el sistema de escritura en caracteres cirílicos, Cyrl, utilizado por idiomas como el ruso:

%%
Type: script
Subtag: Cyrl
Description: Cyrillic
Added: 2005-10-16
%%

Si bien para las aplicaciones comunes de las etiquetas de idioma es poco probable que necesite especificar el sistema de escritura, existen algunas situaciones para las que ya desde hace tiempo era necesario un mecanismo adecuado. Uno de esos ejemplos es el idioma chino. Este idioma tiene muchos dialectos, en general, mutuamente ininteligibles. Sin embargo, todos utilizan el sistema de escritura chino simplificado o tradicional. Generalmente se busca rotular los textos en idioma chino como simplificado o tradicional, pero hasta hace muy poco tiempo, no había forma de hacerlo. Era necesario utilizar una opción algo forzada como zh-CN (en referencia al chino hablado en China) para el chino simplificado, aún en Singapur, y zh-TW (en referencia al chino hablado en Taiwán) para el chino tradicional. (Otros, sin embargo, usan zh-HK para indicar chino tradicional.) La disponibilidad de los códigos zh-Hans y zh-Hant en referencia al chino escrito con caracteres simplificados o tradicionales, debería mejorar la coherencia y precisión y su utilización se está volviendo cada vez más popular. De todas formas, es posible que deba seguir utilizando en algunos casos las antiguas etiquetas de idioma por coherencia.

Subetiqueta de región

Subetiquetas de región

en-GB
es-005
zh-Hant-HK

Más información en la especificación BCP 47:

2.2.4 Subetiqueta de región

4.1 Selección de una etiqueta de idioma

Algunos ejemplos de etiquetas de idioma que incluyen subetiquetas de región:

Las subetiquetas de región en la RFC 3066 adoptaron sus valores de los códigos de país de la norma ISO 3166. El nuevo registro conserva estos códigos de dos letras, pero también incluye los códigos de región M.49 de 3 dígitos usados por Naciones Unidas. La ventaja de estos códigos es que no sólo sirven para hacer referencia a países. Por ejemplo, un equipo de localización podría querer señalar una esmerada traducción al español como español latinoamericano en lugar de español de algún país en particular. A partir de la RFC 5646, esto es posible; la etiqueta de idioma correspondiente es es-419.

Las etiquetas de idioma sólo pueden contener una subetiqueta de región, que se debe ubicar a continuación de la subetiqueta de idioma, extlang o de sistema de escritura. Se trata de un código alfabético de dos letras o de un código numérico de 3 dígitos. Es posible ubicar un código de idioma seguido por un código de región, tal como sucede habitualmente para etiquetas de idioma como en-US.

Las subetiquetas de región sólo se deben usar cuando sean imprescindibles para marcar una distinción. A menos que sea necesario destacar específicamente que se trata de italiano tal como se habla en Italia, se debe usar it para italiano en lugar de it-IT. La misma aclaración aplica para cualquier otra combinación posible.

Estos ejemplos tomados del registro señalan los códigos correspondientes a Austria, AT, y África del Norte, 015:

%%
Type: region
Subtag: AT
Description: Austria
Added: 2005-10-16
%%
Type: region
Subtag: 015
Description: Northern Africa
Added: 2005-10-16
%%

Subetiquetas de variante

Subetiquetas de variante

sl-nedis
sl-IT-nedis
de-CH-1901

Más información en la especificación BCP 47:

2.2.5 Subetiquetas de variante

4.1 Selección de una etiqueta de idioma

Las subetiquetas de variante son valores utilizados para indicar dialectos o variaciones en sistemas de escritura no contemplados por las combinaciones de subetiquetas de idioma, de sistemas de escritura y de región. Estos elementos se deben ubicar luego de las subetiquetas de idioma, de sistema de escritura o de región, pero no es necesario que exista una subetiqueta de sistema de escritura o de región antes de la subetiqueta de variante.

A menos que trabaje en un área especializada, es poco probable que necesite usar subetiquetas de variante.

Los siguientes ejemplos pueden resultar útiles para comprender la función de estas subetiquetas.

Este ejemplo tomado del registro indica el código para el dialecto esloveno de la región del Natisone/Nadiza, nedis:

%%
Type: variant
Subtag: nedis
Description: Natisone dialect
Description: Nadiza dialect
Added: 2005-10-16
Prefix: sl
%%

En el registro, estas subetiquetas están vinculadas a un idioma específico (y, posiblemente, a subetiquetas adicionales entre esta subetiqueta y la subetiqueta de idioma primaria) mediante el campo "Prefix". El ejemplo anterior, nedis, sólo se debe usar con el esloveno.

Si debe expresar un matiz dialectal o de escritura específico que no se encuentra actualmente disponible, puede proponer la inclusión en el registro de subetiquetas de variante mediante el procedimiento que se describe en la RFC 5646.

Subetiquetas de extensión y uso privado

Subetiquetas de extensión

de-DE-u-co-phonebk

Subetiquetas de uso privado

en-US-x-twain

Más información en la especificación BCP 47:

2.2.7 Subetiquetas de uso privado

2.2.6 Subetiquetas de extensión

4.1 Selección de una etiqueta de idioma

Si siente que realmente necesita utilizar estas etiquetas, consulte la especificación, en lugar de este artículo.

Las subetiquetas de extensión y uso privado están precedidas de una etiqueta de una sola letra, o "singleton". Una organización puede proponer un singleton para una extensión. Una RFC debe describir su uso determinado (especificación IETF). Se debe agregar el singleton al registro si aprueba la revisión. El singleton x se reserva para uso privado. Se permiten múltiples subetiquetas después del singleton; no obstante, cualquier subetiqueta debe tener 8 caracteres de largo como máximo.

Las subetiquetas de extensión permiten incorporar extensiones a la etiqueta de idioma. Por ejemplo, la subetiqueta de extensión u ha sido registrada por el Consorcio Unicode para agregar información sobre el idioma o el comportamiento local. Muchos identificadores locales requieren más "adaptaciones" u opciones para los valores específicos dentro de un idioma, cultura, región u otra clase de variación. Esta extensión brinda un mecanismo para el uso de dichas adaptaciones dentro de las etiquetas de idioma en el intercambio general.

Por ejemplo, a continuación se indica que una aplicación debe utilizar el orden de colación del directorio telefónico, que la información ordenada en un documento se ordene según esta colación, y así sucesivamente.

La extensión u- se define en la RFC 6067, la cual se refiere al Repositorio de datos locales comunes del consorcio Unicode (Consortium's Common Locale Data Repository, CLDR) en caso de detalles sobre las subetiquetas que le siguen. BCP 47 no la define.

Las subetiquetas de uso privado no aparecen en el registro de subetiquetas, y su selección y mantenimiento se realiza por un acuerdo privado de partes.

Debido a que estas subetiquetas tienen sentido sólo dentro de los acuerdos privados y no pueden utilizarse con interoperabilidad en la Web, deberían usarse con precaución y evitar su uso cuando sea posible.

El siguiente ejemplo de una subetiqueta de uso privado permite identificar un tipo específico de inglés estadounidense, pero solo dentro de una comunidad cerrada. Fuera del acuerdo privado, no se debe confiar en su significado.

Subetiquetas redundantes y antiguas

Más información en la especificación BCP 47:

2.2.8 Registros redundantes y antiguos

Las etiquetas antiguas son casos especiales, provistos para cuestiones de retrocompatibilidad. Se trata de subetiquetas registradas con anterioridad a la RFC 4646 que no se pueden componer completamente desde las subetiquetas existentes en el registro actual o que no se adecúan a la sintaxis definida para las etiquetas de idioma actuales.

Las etiquetas redundantes son etiquetas de idioma compuestas por una secuencia de subetiquetas registradas con anterioridad a la RFC 4646 que ahora se pueden componer mediante la combinación de distintas subetiquetas del registro actual. Las entradas originales se conservan en el registro básicamente como una "cuestión de interés histórico".

Dentro del registro, muchas etiquetas antiguas han sido reemplazadas por subetiquetas o combinaciones de subetiquetas. Dichos elementos ahora se consideran desaprobados y generalmente contienen un campo Preferred-Value en el que se indica cómo se debe representar actualmente dicho idioma. Por ejemplo, en el siguiente ejemplo de una etiqueta antigua se indica que se debe utilizar la etiqueta de idioma jbo en lugar de art-lojban.

%%
Type: grandfathered 
Tag: art-lojban 
Description: Lojban 
Added: 2001-11-11 
Deprecated: 2003-09-02 
Preferred-Value: jbo 
%%

Correspondencia de etiquetas de idioma

La correspondencia entre diferentes etiquetas de idioma es importante para distintas aplicaciones. Según la BCP 47, en se puede considerar equivalente a en-GB. Por ejemplo, el siguiente código de CSS muestra en color rojo todo el texto escrito en inglés en navegadores compatibles con el seudoatributo :lang.

:lang(en) { color: red; }

En el siguiente código, el texto que se describe como lang="en-GB" se mostrará en color rojo.

<p>En janvier, toutes les boutiques de Londres affichent des panneaux 
<span lang="en-GB">SALE</span>, mais en fait ces magasins sont bien propres!</p>

Por otra parte, según la siguiente declaración de CSS,

:lang(en-GB) { color: red; }

la palabra "SALE" no debe aparecer en color rojo en el siguiente código.

<p>En janvier, toutes les boutiques de Londres affichent des panneaux 
<span lang="en">SALE</span>, mais en fait ces magasins sont bien propres!</p>

Con la incorporación de etiquetas adicionales en la RFC 5646, la correspondencia es algo más compleja. Además, en la especificación acompañante, RFC 4647 Correspondencia de etiquetas de idioma, se describe más de un enfoque posible para lograrlo. La correspondencia entre estos elementos se tratará en otro artículo.

A propósito

Las etiquetas de idioma para HTML se definieron formalmente por primera vez en la RFC 2070, F. Yergeau, et.al. Internacionalización del lenguaje de etiquetado hipertextual. La RFC 2070 se incorporó a HTML 4 y fue reclasificada como histórica.

Se debe tener en cuenta que se han producido modificaciones en los códigos ISO de idiomas. En 1989, se eliminaron los códigos iw, in y ji, que fueron reemplazados por he, id y yi. Más recientemente, el código ISO de país cs, que representaba a Checoslovaquia, pasó a representar a Serbia y Montenegro. Dichos cambios pueden dar lugar a confusión al comparar códigos asignados a determinado texto durante períodos prolongados. El nuevo registro de subetiquetas de la IANA permite clasificar etiquetas como desaprobadas y reemplazarlas por nuevas, pero no es posible eliminar ni modificar el significado de una subetiqueta. Se espera que se aplique una política similar a las normas ISO en el futuro.

Muchas otras especificaciones de W3C o relacionadas con la Web emplean etiquetas de idioma:

Se debe tener en cuenta también que la información sobre idioma se puede añadir a objetos como las imágenes y los archivos de audio incluidos.