Академический Документы
Профессиональный Документы
Культура Документы
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 estndares, y todo aquel que busque conocer
los aspectos generales de la construccin de etiquetas de idioma de acuerdo con
BCP47.
Nota: Desde la traduccin de este documento se han producido modificaciones en
el original en ingls (/International/articles/language-tags/Overview.en.php) . Consulte el
registro de cambios. (http://www.w3.org/blog/International?s=article-languagetags&sentence=sentence&blog=1&submit=Search)
Generalidades
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
Terminologa
por
el
IETF:BCP
(http://www.rfc-editor.org/rfc/bcp/bcp47.txt)
47
.
Acerca
de
este
artculo
El
Grupo
de
Trabajo
de
Internaciona
de
W3
ha
revisado
este
artculo
y
se
lo
ha
sometido
a
revisin
pblica
para
hacerlo
tan
preciso
como
sea
posible.
Si
hay
cuestiones
para
tratar,
envenos
sus
comentarios
mediante
el
enlace
ubicado
cerca
del
final
RFC
4646
(http://www.rfc-editor.org/rfc/rfc4646.txt)
3066
Para buscar subetiquetas, antes era necesario consultar listados de cdigos en distintas normas ISO. Ahora
es posible encontrar todas las subetiquetas en el registro de la IANA Registro de subetiquetas de idioma
(http://www.iana.org/assignments/language-subtag-registry) . A continuacin, describiremos el nuevo registro.
Idioma
Subetiquetas
en
Ingls
language
mas
Masai
language
frCA
idioma+regin
idioma+regin
zh
idioma+sistema de
Hans
simplificado
escritura
HTML y XML ofrecen tambin un mecanismo para evitar la herencia de idioma mediante el empleo de la
secuencia vaca, es decir,
de
la
pgina.
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 vlidas, el nuevo registro de la IANA
(http://www.iana.org/assignments/language-subtag-registry) .
2. La ubicacin 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.
Bsicamente, la RFC 3066 (http://www.ietf.org/rfc/rfc3066.txt) permita componer etiquetas de idioma que
podan ser un cdigo de idioma independiente, un cdigo de idioma ms un cdigo de pas, o bien un valor
tomado de una pequea lista de valores especialmente registrados en el Registro de etiquetas de idioma de
la IANA (http://www.iana.org/assignments/language-tags) .
Si bien incorpora
algunas
La RFC 5646 (http://www.rfc-editor.org/rfc/rfc5646.txt) incluye ms tipos de subetiquetas y permite
combinarlas
de distintas formas. Si bien esta modificacin pareciera complicar las cosas, en trminos
generales,
la
identificacin
de variaciones
seleccin de etiquetas de idioma seguir siendo una tarea sencilla. No obstante, 5646
el usuario
podr
tener que ya
incluye todas
las etiquetas
eran vlidas. Si ha estado utilizando las
En la siguiente lista se muestran los distintos tipos de subetiquetas disponibles. En las prximas secciones
se describen las caractersticas de estos elementos y se explica cmo utilizarlos.
language-extlang-script-region-variant-extensionprivateuse
Las entradas en el registro siguen ciertas convenciones vinculadas con el uso de maysculas y minsculas.
Por ejemplo, para etiquetas de idioma, se usa minscula; para subetiquetas alfabticas de regin, se usa
mayscula y para etiquetas de sistemas de escritura, se utiliza mayscula inicial. Pero es slo una
convencin! Al utilizar estas subetiquetas puede elegir libremente el formato que desee, a menos que el
sistema con el que trabaja tenga requerimientos especficos en este sentido. Para el lenguaje de etiquetas
en HTML y XML, el uso de maysculas o minsculas es indistinto.
%%
Type:language
Subtag:fr
Description:French
Added:20051016
SuppressScript:Latn
%%
Observe que el tipo de este registro es language. Lo que usted busca es el cdigo denominado Subtag
que indica un valor para fr.
De esta misma manera es posible encontrar cualquier otra etiqueta. Por ejemplo, para crear una etiqueta
frCA (francs 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 combinacin con ciertas subetiquetas indicadas.
Para ms informacin sobre la seleccin de subetiquetas, consulte Cmo seleccionar una etiqueta de
idioma (/International/questions/qa-choosing-language-tags) .
Richard Ishida ha creado tambin una herramienta de bsqueda en el registro (http://rishida.net/utils/subtags/)
que resulta amigable para el usuario.
En las siguientes secciones se proporcionan ms detalles acerca de subetiquetas especficas.
ejemplos
de
etiquetas
simples
que
Subetiquetas de idioma
en
ast
en (ingls)
ast (asturiano - no
existe un cdigo de
dos letras para este
idioma en las listas
ISO)
Estos cdigos provienen de los cdigos de idiomas ISO 639 y se mantienen actualizados en funcin de
dicha norma.
Debido a que la RFC 3066 no inclua una lista de subetiquetas vlidas y simplemente remita a los usuarios a
la norma ISO 639, muchas veces resultaba confuso etiquetar idiomas cuando las listas de cdigos ISO
contenan cdigos tanto de dos como de tres letras (y, en algunos casos, ms de un cdigo de tres letras).
Ahora,
todas
las
subetiquetas
vlidas
se
incluyen
en
un
nico
registro
de
la
IANA
(http://www.iana.org/assignments/language-subtag-registry) , que adopta un solo valor por idioma de las listas ISO.
Si existe un cdigo ISO de dos letras, ser el que aparecer en el registro. De lo contrario, en el registro
figurar un cdigo de tres letras. Esto debera simplificar el proceso.
Cuando se public la RFC 5646, se incorporaron ms de 7.000 nuevos cdigos ISO 639-3 de tres letras al
Registro de subetiquetas.
Este es un ejemplo de cmo se ve en el registro la subetiqueta de idioma primaria para espaol, es:
%%
Type:language
Subtag:es
Description:Spanish
Description:Castilian
Added:20051016
SuppressScript:Latn
%%
este
artculo,
las
subetiquetas de idioma
extendidas
se
denominan subetiquetas
extlang. Una subetiqueta
extlang
debe
estar
subetiqueta
idioma
de
zhyue
arafb
primaria
contiene un campo Prefix en el que se especifica el idioma que debe preceder a la subetiqueta extlang.
Las entradas tambin incluyen un campo denominado PreferredValue en el que se indica la etiqueta
de idioma equivalente.
Este es un ejemplo de cmo aparece en el registro el cdigo extlang para rabe del Golfo, afb:
%%
Type:extlang
Subtag:afb
Description:GulfArabic
Added:20090729
PreferredValue:afb
Prefix:arMacrolanguage: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 ms
especficas. Las subetiquetas de macroidiomas se pueden usar solas, pero a menos que exista algn tipo
de convencin 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
explcitamente en la BCP 47. Por ejemplo, por convencin se considera que zh representa la forma
predominante de mandarn 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 mandarn, como chino hakka, es preferible utilizar el cdigo explcito (en el
caso del ejemplo, hak).
Por otra parte, en zhHans, zh se usa en sentido genrico. 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
Algunos
ejemplos
de
zhHans
azLatn
(azerbaiyano, escrito
con caracteres
latinos, ya que este
idioma se puede
2.2.3)
caracteres arbigos)
La subetiqueta de sistema de escritura se introdujo por primera vez en la RFC 4646. Las subetiquetas
provienen de la lista de cdigos de sistemas de escritura ISO 15924 y se mantienen actualizadas sobre la
base de esta norma.
Una etiqueta de idioma slo puede contener una subetiqueta de sistema de escritura, que se debe ubicar
inmediatamente a continuacin del idioma o de cualquier subetiqueta extlang. Siempre est compuesta por
cuatro letras.
Slo se deben usar etiquetas de sistema de escritura cuando sean necesarias para indicar una
distincin. Como coautor de la RFC 4646, Addison Phillips afirma: "Prcticamente para cualquier contenido
que hoy no emplee una etiqueta de sistema de escritura, la mejor prctica sigue siendo no usar etiqueta
alguna en el futuro".
Si desea indicar especficamente que el contenido no es material escrito, existe una subetiqueta especial
para hacerlo. Por ejemplo, podra usar enZxxx para aclarar que una grabacin de audio en ingls 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 inclusin del campo Supressscript. Dicho campo se
muestra en el ejemplo anterior para espaol. All se indica que el espaol normalmente se escribe con
caracteres latinos y, por lo tanto, la subetiqueta Latn no debera usarse con es.
En este ejemplo, se muestra la entrada en el registro para el sistema de escritura en caracteres cirlicos,
Cyrl, utilizado por idiomas como el ruso:
%%
Type:script
Subtag:Cyrl
Description:Cyrillic
Added:20051016
%%
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 haba forma de hacerlo. Era necesario utilizar una opcin algo forzada
como zhCN (en referencia al chino hablado en China) para el chino simplificado, an en Singapur, y zhTW
(en referencia al chino hablado en Taiwn) para el chino tradicional. (Otros, sin embargo, usan zhHK para
indicar chino tradicional.) La disponibilidad de los cdigos zhHans y zhHant en referencia al chino
escrito con caracteres simplificados o tradicionales, debera mejorar la coherencia y precisin y su
utilizacin se est volviendo cada vez ms popular. De todas formas, es posible que deba seguir utilizando
en algunos casos las antiguas etiquetas de idioma por coherencia.
Subetiqueta de regin
Algunos
ejemplos
de
Subetiquetas de regin
incluyen subetiquetas de
regin:
enGB (ingls
britnico)
es005 (espaol
sudamericano)
zhHantHK (chino
enGB
es005
zhHantHK
tradicional hablado en
Hong Kong)
Las
subetiquetas
de
%%
Type:region
Subtag:AT
Description:Austria
Added:20051016
%%
Type:region
Subtag:015
Description:NorthernAfrica
Added:20051016
%%
Subetiquetas de variante
Las
subetiquetas
variante
son
de
valores
Subetiquetas de variante
slnedis
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
regin.
elementos
ubicar
Estos
se
luego
slnedis
slITnedis
deCH1901
deben
de
las
subetiquetas de idioma,
de sistema de escritura o
de regin, pero no es
necesario que exista una subetiqueta de sistema de escritura o de regin 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 funcin de estas subetiquetas.
slnedis (dialecto esloveno de la regin del Natisone/Nadiza)
slrozaj (dialecto resiano del esloveno)
slITnedis (variante especfica del dialecto esloveno de la regin del Natisone/Nadiza que se
habla en Italia)
deCH1901 (variante de la ortografa alemana que data de las reformas de 1901, como la que se
observa en Suiza)
Este ejemplo tomado del registro indica el cdigo para el dialecto esloveno de la regin del Natisone/Nadiza,
nedis:
%%
Type:variant
Subtag:nedis
Description:Natisonedialect
Description:Nadizadialect
Added:20051016
Prefix:sl
%%
En el registro, estas subetiquetas estn vinculadas a un idioma especfico (y, posiblemente, a subetiquetas
adicionales entre esta subetiqueta y la subetiqueta de idioma primaria) mediante el campo "Prefix". El
ejemplo anterior, nedis, slo se debe usar con el esloveno.
Si debe expresar un matiz dialectal o de escritura especfico que no se encuentra actualmente disponible,
puede proponer la inclusin en el registro de subetiquetas de variante mediante el procedimiento que se
describe en la RFC 5646.
Subetiquetas de extensin
deDEucophonebk
Subetiquetas de uso privado
enUSxtwain
Ms informacin en la especificacin BCP 47:
2.2.7 Subetiquetas de uso privado (http://tools.ietf.org/html/bcp47#section2.2.7)
Las subetiquetas de extensin y uso privado estn precedidas de una etiqueta de una sola letra, o
"singleton". Una organizacin puede proponer un singleton para una extensin. Una RFC debe describir su
uso determinado (especificacin IETF). Se debe agregar el singleton al registro si aprueba la revisin. El
singleton x se reserva para uso privado. Se permiten mltiples subetiquetas despus del singleton; no
obstante, cualquier subetiqueta debe tener 8 caracteres de largo como mximo.
Las subetiquetas de extensin permiten incorporar extensiones a la etiqueta de idioma. Por ejemplo, la
subetiqueta de extensin u ha sido registrada por el Consorcio Unicode para agregar informacin sobre el
idioma o el comportamiento local. Muchos identificadores locales requieren ms "adaptaciones" u opciones
para los valores especficos dentro de un idioma, cultura, regin u otra clase de variacin. Esta extensin
brinda un mecanismo para el uso de dichas adaptaciones dentro de las etiquetas de idioma en el
intercambio general.
Por ejemplo, a continuacin se indica que una aplicacin debe utilizar el orden de colacin del directorio
telefnico, que la informacin ordenada en un documento se ordene segn esta colacin, y as
sucesivamente.
deDEucophonebk
La extensin u se define en la RFC 6067 (http://www.rfc-editor.org/rfc/rfc6067.txt) , 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 seleccin y mantenimiento
se realiza por un acuerdo privado de partes.
Debido a que estas subetiquetas tienen sentido slo dentro de los acuerdos privados y no pueden utilizarse
con interoperabilidad en la Web, deberan usarse con precaucin y evitar su uso cuando sea posible.
El siguiente ejemplo de una subetiqueta de uso privado permite identificar un tipo especfico de ingls
estadounidense, pero solo dentro de una comunidad cerrada. Fuera del acuerdo privado, no se debe confiar
en su significado.
enUSxtwain
son
casos
especiales,
%%
Type:grandfathered
Tag:artlojban
Description:Lojban
Added:20011111
Deprecated:20030902
PreferredValue:jbo
%%
:lang(en){color:red;}
En el siguiente cdigo, el texto que se describe como lang="enGB" se mostrar en color rojo.
<p>Enjanvier,touteslesboutiquesdeLondresaffichentdespanneaux
<spanlang="enGB">SALE</span>,maisenfaitcesmagasinssontbienpropres!</p>
Por otra parte, segn la siguiente declaracin de CSS,
:lang(enGB){color:red;}
la palabra "SALE" no debe aparecer en color rojo en el siguiente cdigo.
<p>Enjanvier,touteslesboutiquesdeLondresaffichentdespanneaux
<spanlang="en">SALE</span>,maisenfaitcesmagasinssontbienpropres!</p>
Con la incorporacin de etiquetas adicionales en la RFC 5646, la correspondencia es algo ms compleja.
Adems, en la especificacin acompaante, RFC 4647 Correspondencia de etiquetas de idioma
(http://www.rfc-editor.org/rfc/rfc4647.txt) , se describe ms de un enfoque posible para lograrlo. La
A propsito
Las etiquetas de idioma para HTML se definieron formalmente por primera vez en la RFC 2070, F. Yergeau,
et.al. Internacionalizacin del lenguaje de etiquetado hipertextual (http://www.ietf.org/rfc/rfc2070.txt) . La RFC
2070 se incorpor a HTML 4 (/TR/html4) y fue reclasificada como histrica.
Se debe tener en cuenta que se han producido modificaciones (http://www.loc.gov/standards/iso6392/codechanges.html) en los cdigos ISO de idiomas. En 1989, se eliminaron los cdigos iw, in y ji, que
fueron reemplazados por he, id y yi. Ms recientemente, el cdigo ISO de pas cs, que representaba a
Checoslovaquia, pas a representar a Serbia y Montenegro. Dichos cambios pueden dar lugar a confusin al
comparar cdigos asignados a determinado texto durante perodos 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 poltica
similar a las normas ISO en el futuro.
Muchas otras especificaciones de W3C o relacionadas con la Web emplean etiquetas de idioma:
XHTML 1.0 (http://www.w3.org/TR/xhtml1/) usa etiquetas de idioma en el atributo HTML lang y en el
atributo XML xml:lang, como tambin en el atributo hreflang.
El HTTP usa etiquetas de idioma en los encabezados AcceptLanguage y ContentLanguage.
Los lenguajes SMIL y SVG pueden usar etiquetas de idioma en la declaracin switch.
Los lenguajes CSS y XSL utilizan etiquetas de idioma para control detallado del estilo.
Se debe tener en cuenta tambin que la informacin sobre idioma se puede aadir a objetos como las
imgenes y los archivos de audio incluidos.
Lecturas complementarias
Cmo comenzar? Idioma en la Web (/International/getting-started/language)
Cmo seleccionar una etiqueta de idioma (/International/questions/qa-choosing-language-tags)
Enlaces relacionados, Autora de HTML y & CSS
Idioma (/International/techniques/authoring-html#language)