stringtranslate.com

Etiqueta de idioma IETF

Una etiqueta de idioma IETF BCP 47 es un código estandarizado que se utiliza para identificar idiomas humanos en Internet. [1] La estructura de etiquetas ha sido estandarizada por el Internet Engineering Task Force (IETF) [1] en Best Current Practice (BCP) 47 ; [1] las subetiquetas son mantenidas por el Registro de subetiquetas de idiomas de la IANA . [2] [3] [4]

Para distinguir variantes de idioma para países, regiones o sistemas de escritura (escrituras), las etiquetas de idioma del IETF combinan subetiquetas de otros estándares como ISO 639 , ISO 15924 , ISO 3166-1 y UN M.49 . Por ejemplo, la etiqueta ensignifica inglés ; es-419para el español latinoamericano ; rm-sursilvpara el romanche sursilvano ; sr-Cyrlpara serbio escrito en escritura cirílica ; nan-Hant-TWpara los chinos Min Nan que utilizan los caracteres tradicionales Han , tal como se hablan en Taiwán ; y gsw-u-sd-chzhpor Zúrich Alemán .

Es utilizado por estándares informáticos como HTTP , [5] HTML , [6] XML [7] y PNG . [8] 💕

Historia

Las etiquetas de idioma IETF se definieron por primera vez en RFC 1766, editado por Harald Tveit Alvestrand , publicado en marzo de 1995. Las etiquetas utilizaban códigos de idioma de dos letras ISO 639 y códigos de país de dos letras ISO 3166, y permitían el registro de etiquetas completas que incluían variantes o subetiquetas de escritura de tres a ocho letras.

En enero de 2001, esto fue actualizado por RFC 3066, que agregó el uso de códigos de tres letras ISO 639-2 , permitió subetiquetas con dígitos y adoptó el concepto de rangos de idioma desde HTTP/1.1 para ayudar con la coincidencia de etiquetas de idioma.

La siguiente revisión de la especificación se produjo en septiembre de 2006 con la publicación de RFC 4646 (la parte principal de la especificación), editada por Addison Philips y Mark Davis, y RFC 4647 [9] (que trata sobre el comportamiento de coincidencia). RFC 4646 introdujo un formato más estructurado para las etiquetas de idioma, agregó el uso de códigos de escritura de cuatro letras ISO 15924 y códigos de región geográfica de tres dígitos UN M.49 y reemplazó el antiguo registro de etiquetas con un nuevo registro de subetiquetas. La pequeña cantidad de etiquetas previamente definidas que no se ajustaban a la nueva estructura fueron protegidas para mantener la compatibilidad con RFC 3066.

La versión actual de la especificación, RFC 5646, [10] se publicó en septiembre de 2009. El objetivo principal de esta revisión fue incorporar códigos de tres letras de ISO 639-3 y 639-5 en el Registro de subetiquetas de idioma, con el fin de aumentar la interoperabilidad entre ISO 639 y BCP 47. [11]

Sintaxis de etiquetas de idioma

Cada etiqueta de idioma se compone de una o más "subetiquetas" separadas por guiones (-). Cada subetiqueta se compone únicamente de letras o dígitos latinos básicos.

Con las excepciones de las etiquetas de idioma de uso privado que comienzan con un prefijo x- y las etiquetas de idioma protegidas (incluidas las que comienzan con un prefijo i- y las registradas previamente en el antiguo Registro de etiquetas de idioma), las subetiquetas aparecen en el siguiente orden:

Las subetiquetas no distinguen entre mayúsculas y minúsculas , pero la especificación recomienda usar el mismo caso que en el Registro de subetiquetas de idioma, donde las subetiquetas de región están en MAYÚSCULAS , las subetiquetas de secuencia de comandos son Casos de título y todas las demás subetiquetas están en minúsculas . Esta capitalización sigue las recomendaciones de las normas ISO subyacentes.

Es preferible omitir las subetiquetas de región y escritura opcionales cuando no agregan información distintiva a una etiqueta de idioma. Por ejemplo, se prefiere es a es-Latn , ya que se espera que el español esté escrito en escritura latina; Se prefiere ja a ja-JP , ya que el japonés tal como se usa en Japón no difiere marcadamente del japonés tal como se usa en otros lugares.

No todas las regiones lingüísticas se pueden representar con una subetiqueta de región válida: los dialectos regionales subnacionales de un idioma principal se registran como subetiquetas variantes. Por ejemplo, la subetiqueta de variante valenciana para la variante valenciana del catalán está registrada en el Registro de subetiquetas de lengua con el prefijo ca. Como este dialecto se habla casi exclusivamente en España, normalmente se puede omitir la subetiqueta de región ES .

Además, hay etiquetas de escritura que no se refieren a escrituras tradicionales como el latín, ni siquiera a escrituras en absoluto, y generalmente comienzan con una Z. Por ejemplo, Zsye se refiere a emojis , Zmth a notación matemática , Zxxx a documentos no escritos y Zyyy. a guiones indeterminados.

Las etiquetas de idioma del IETF se han utilizado como identificadores locales en muchas aplicaciones. Puede ser necesario que estas aplicaciones establezcan su propia estrategia para definir, codificar y hacer coincidir las configuraciones regionales si la estrategia descrita en RFC 4647 no es adecuada.

El uso, interpretación y comparación de etiquetas de idioma del IETF se define actualmente en RFC 5646 y RFC 4647. El Registro de subetiquetas de idioma enumera todas las subetiquetas públicas actualmente válidas. Las subetiquetas de uso privado no están incluidas en el Registro ya que dependen de la implementación y están sujetas a acuerdos privados entre terceros que las utilizan. Estos acuerdos privados están fuera del alcance del BCP 47.

Lista de subetiquetas de idioma principal comunes

La siguiente es una lista de algunas de las subetiquetas de idioma principal más utilizadas. La lista representa sólo un pequeño subconjunto (menos del 2 por ciento) de subetiquetas del idioma principal; para obtener información completa, se debe consultar directamente el Registro de subetiquetas de idioma.

Relación con otras normas

Aunque algunos tipos de subetiquetas se derivan de los estándares básicos ISO o de la ONU , no siguen estos estándares absolutamente, ya que esto podría llevar a que el significado de las etiquetas de idioma cambie con el tiempo. En particular, una subetiqueta derivada de un código asignado por ISO 639 , ISO 15924 , ISO 3166 o UN M49 sigue siendo una subetiqueta válida (aunque obsoleta) incluso si el código se retira del estándar central correspondiente. Si posteriormente la norma asigna un nuevo significado al código retirado, la subetiqueta correspondiente conservará su antiguo significado.

Esta estabilidad se introdujo en RFC 4646.

ISO 639-3 e ISO 639-1

RFC 4646 definió el concepto de "subetiqueta de idioma extendido" (a veces denominada extlang ), aunque no se registraron tales subetiquetas en ese momento. [13] [ verificación fallida ] [14] [ verificación fallida ]

RFC 5645 y RFC 5646 agregaron subetiquetas de idioma principal correspondientes a códigos ISO 639-3 para todos los idiomas que aún no existían en el Registro. Además, los códigos de idiomas abarcados por ciertos macrolenguajes se registraron como subetiquetas de idioma extendido. Las lenguas de signos también se registraron como extlangs, con el prefijo sgn . Estos idiomas se pueden representar con la subetiqueta solo para el idioma abarcado ( cmn para mandarín) o con una combinación de idioma y extlang ( zh-cmn ). La primera opción es la preferida para la mayoría de los propósitos. La segunda opción se llama "formulario extlang" y es nueva en RFC 5646.

Las etiquetas completas que se registraron antes de RFC 4646 y que ahora están clasificadas como "protegidas" o "redundantes" (dependiendo de si se ajustan a la nueva sintaxis) están obsoletas en favor de la correspondiente subetiqueta de idioma basada en ISO 639-3, si existe. . Para enumerar algunos ejemplos, se prefiere nan a zh-min-nan para el chino Min Nan ; se prefiere hak a i-hak y zh-hakka para el chino hakka ; y se prefiere ase a sgn-US para el lenguaje de signos americano .

Windows Vista y versiones posteriores de Microsoft Windows son compatibles con RFC 4646. [15]

ISO 639-5 e ISO 639-1/2

ISO 639-5 define las colecciones de idiomas con códigos alfa-3 de una manera diferente a la que se codificaron inicialmente en ISO 639-2 (incluido un código ya presente en ISO 639-1, Bihari codificado inclusive como bh en ISO 639-1 y bih en ISO 639-2). Específicamente, todas las colecciones de idiomas ahora están definidas en ISO 639-5 como inclusivas, en lugar de que algunas de ellas se definan exclusivamente. Esto significa que las colecciones de idiomas tienen un alcance más amplio que antes, en algunos casos podrían abarcar idiomas que ya estaban codificados por separado dentro de ISO 639-2.

Por ejemplo, el código ISO 639-2 afa estaba asociado anteriormente con el nombre "Afroasiático (Otro)", excluyendo idiomas como el árabe que ya tenía su propio código. En ISO 639-5, esta colección se denomina "lenguas afroasiáticas" e incluye todas esas lenguas. ISO 639-2 cambió los nombres exclusivos en 2009 para que coincidan con los nombres inclusivos ISO 639-5. [dieciséis]

Para evitar romper implementaciones que aún pueden depender de la definición anterior (exclusiva) de estas colecciones, ISO 639-5 define un atributo de tipo de agrupación para todas las colecciones que ya estaban codificadas en ISO 639-2 (dicho tipo de agrupación no está definido para la nueva colecciones agregadas solo en ISO 639-5).

BCP 47 define una propiedad "Alcance" para identificar subetiquetas para colecciones de idiomas. Sin embargo, no define ninguna colección determinada como inclusiva o exclusiva, y no utiliza el atributo de tipo de agrupación ISO 639-5, aunque los campos de descripción en el Registro de subetiquetas de idioma para estas subetiquetas coinciden con los nombres ISO 639-5 (inclusive). Como consecuencia, las etiquetas de idioma BCP 47 que incluyen una subetiqueta de idioma principal para una colección pueden ser ambiguas en cuanto a si la colección pretende ser inclusiva o exclusiva.

ISO 639-5 no define con precisión qué idiomas son miembros de estas colecciones; sólo se define la clasificación jerárquica de las colecciones, utilizando la definición inclusiva de estas colecciones. Debido a esto, RFC 5646 no recomienda el uso de subetiquetas para colecciones de idiomas para la mayoría de las aplicaciones, aunque todavía se prefieren a subetiquetas cuyo significado es aún menos específico, como "Múltiples idiomas" e "Indeterminado".

Por el contrario, la clasificación de idiomas individuales dentro de su macrolenguaje está estandarizada, tanto en ISO 639-3 como en el Registro de subetiquetas de idiomas.

ISO 15924, ISO/IEC 10646 y Unicode

Las subetiquetas de script se agregaron por primera vez al Registro de subetiquetas de idioma cuando se publicó RFC 4646, de la lista de códigos definidos en ISO 15924 . Se codifican en la etiqueta de idioma después de las subetiquetas de idioma principal y extendido, pero antes de otros tipos de subetiquetas, incluidas las subetiquetas de región y variante.

Some primary language subtags are defined with a property named "Suppress-Script" which indicates the cases where a single script can usually be assumed by default for the language, even if it can be written with another script. When this is the case, it is preferable to omit the script subtag, to improve the likelihood of successful matching. A different script subtag can still be appended to make the distinction when necessary. For example, yi is preferred over yi-Hebr in most contexts, because the Hebrew script subtag is assumed for the Yiddish language.

As another example, zh-Hans-SG may be considered equivalent to zh-Hans, because the region code is probably not significant; the written form of Chinese used in Singapore uses the same simplified Chinese characters as in other countries where Chinese is written. However, the script subtag is maintained because it is significant.

ISO 15924 includes some codes for script variants (for example, Hans and Hant for simplified and traditional forms of Chinese characters) that are unified within Unicode and ISO/IEC 10646. These script variants are most often encoded for bibliographic purposes, but are not always significant from a linguistic point of view (for example, Latf and Latg script codes for the Fraktur and Gaelic variants of the Latin script, which are mostly encoded with regular Latin letters in Unicode and ISO/IEC 10646). They may occasionally be useful in language tags to expose orthographic or semantic differences, with different analysis of letters, diacritics, and digraphs/trigraphs as default grapheme clusters, or differences in letter casing rules.

ISO 3166-1 and UN M.49

Two-letter region subtags are based on codes assigned, or "exceptionally reserved", in ISO 3166-1. If the ISO 3166 Maintenance Agency were to reassign a code that had previously been assigned to a different country, the existing BCP 47 subtag corresponding to that code would retain its meaning, and a new region subtag based on UN M.49 would be registered for the new country. UN M.49 is also the source for numeric region subtags for geographical regions, such as 005 for South America. The UN M.49 codes for economic regions are not allowed.

Region subtags are used to specify the variety of a language "as used in" a particular region. They are appropriate when the variety is regional in nature, and can be captured adequately by identifying the countries involved, as when distinguishing British English (en-GB) from American English (en-US). When the difference is one of script or script variety, as for simplified versus traditional Chinese characters, it should be expressed with a script subtag instead of a region subtag; in this example, zh-Hans and zh-Hant should be used instead of zh-CN/zh-SG/zh-MY and zh-TW/zh-HK/zh-MO.

When a distinct language subtag exists for a language that could be considered a regional variety, it is often preferable to use the more specific subtag instead of a language-region combination. For example, ar-DZ (Arabic as used in Algeria) may be better expressed as arq for Algerian Spoken Arabic.

Adherence to core standards

Disagreements about language identification may extend to BCP 47 and to the core standards that inform it. For example, some speakers of Punjabi believe that the ISO 639-3 distinction between [pan] "Panjabi" and [pnb] "Western Panjabi" is spurious (i.e. they feel the two are the same language); that sub-varieties of the Arabic script should be encoded separately in ISO 15924 (as, for example, the Fraktur and Gaelic styles of the Latin script are); and that BCP 47 should reflect these views and/or overrule the core standards with regard to them.

BCP 47 delegates this type of judgment to the core standards, and does not attempt to overrule or supersede them. Variant subtags and (theoretically) primary language subtags may be registered individually, but not in a way that contradicts the core standards.[17]

Extensions

Extension subtags (not to be confused with extended language subtags) allow additional information to be attached to a language tag that does not necessarily serve to identify a language. One use for extensions is to encode locale information, such as calendar and currency.

Las subetiquetas de extensión se componen de varias cadenas de caracteres separadas por guiones, que comienzan con un solo carácter (distinto de x ), llamado singleton . Cada extensión se describe en su propio RFC del IETF , que identifica una autoridad de registro para gestionar los datos de esa extensión. La IANA es responsable de asignar los singleton.

Se han asignado dos prórrogas a partir de enero de 2014.

Extensión T (Contenido transformado)

La extensión T permite que una etiqueta de idioma incluya información sobre cómo se transliteraron, transcribieron o transformaron de otro modo los datos etiquetados. Por ejemplo, la etiqueta en-t-jp podría usarse para contenido en inglés traducido del japonés original. Subcadenas adicionales podrían indicar que la traducción se realizó mecánicamente o de acuerdo con un estándar publicado.

La extensión T se describe en el RFC 6497 informativo, publicado en febrero de 2012. [18] La Autoridad de Registro es el Consorcio Unicode .

Extensión U (localización Unicode)

La extensión U permite incrustar en etiquetas de idioma una amplia variedad de atributos locales que se encuentran en el repositorio de datos locales comunes (CLDR). Estos atributos incluyen subdivisiones de países, datos de calendario y zona horaria, orden de clasificación, moneda, sistema numérico e identificación del teclado.

Algunos ejemplos incluyen:

La extensión U se describe en el RFC 6067 informativo, publicado en diciembre de 2010. [19] La Autoridad de Registro es el Consorcio Unicode .

Ver también

Referencias

  1. ^ abc Phillips, Addison; Davis, Mark (septiembre de 2009). "Información sobre BCP 47» Editor RFC ".
  2. ^ "Registro de subetiquetas de idioma". iana.org . Autoridad de asignación de números de Internet . Consultado el 5 de diciembre de 2018 .
  3. ^ "Registro de extensiones de etiquetas de idioma". iana.org . Autoridad de asignación de números de Internet . Consultado el 6 de diciembre de 2018 .
  4. ^ "IANA - Registros de protocolos". iana.org . Consultado el 28 de julio de 2015 .
  5. ^ Fielding, Roy T.; Reschke, Julián F., eds. (junio de 2014). "Etiquetas de idioma". Protocolo de Transferencia de Hipertexto (HTTP/1.1): Semántica y Contenido. segundo. 3.1.3.1. doi : 10.17487/RFC7231 . RFC 7231.
  6. ^ "Información de idioma y dirección del texto". w3.org . Consultado el 28 de julio de 2015 .
  7. ^ "Lenguaje de marcado extensible (XML) 1.0 (quinta edición)". w3.org . Consultado el 28 de julio de 2015 .
  8. ^ "Especificación de gráficos de red portátiles (PNG) (segunda edición)". w3.org . Consultado el 28 de julio de 2015 .
  9. ^ Phillips, Addison; Davis, Mark (septiembre de 2006). "RFC 4647 - Coincidencia de etiquetas de idiomas".
  10. ^ Phillips, Addison; Davis, Mark (septiembre de 2009). "RFC 5646 - Etiquetas para identificar idiomas".
  11. ^ Carta de actualización del registro de etiquetas de idioma Archivado el 10 de febrero de 2007 en Wayback Machine.
  12. ^ "Códigos de letras de culturas - Lista". Archivado desde el original el 7 de agosto de 2022 . Consultado el 8 de enero de 2022 .
  13. ^ Addison Phillips, Mark Davis (2008). "Etiquetas para identificar idiomas (antiguo borrador para la revisión del RFC 4646, ahora obsoleto y puede desaparecer pronto)". IETF WG LTRU . Consultado el 23 de junio de 2008 .
  14. ^ Doug Ewell (2008). «Actualización del Registro de Subetiquetas de Idioma (antiguo borrador para la revisión del RFC 4645, ahora obsoleto y puede desaparecer pronto)» (1MB) . IETF WG LTRU . Consultado el 23 de junio de 2008 .
  15. ^ "Función GetGeoInfoA (winnls.h): aplicaciones Win32".
  16. ^ "Lista de códigos de idiomas ISO 639-2 - Códigos para la representación de nombres de idiomas (Biblioteca del Congreso)". loc.gov . Consultado el 28 de julio de 2015 .
  17. ^ Ewell, Doug (12 de agosto de 2022). "Re: [Ietf-languages] Recomendaciones para corregir el código del idioma punjabi" . Consultado el 12 de agosto de 2022 .
  18. ^ Davis, M.; Phillips, A.; Umaoka, Y.; Falk, C. (febrero de 2012). "BCP 47 Extensión T - Contenido transformado". rfc-editor.org . Editor RFC (informativo). doi : 10.17487/RFC6497 . RFC 6497 . Consultado el 24 de junio de 2022 .
  19. ^ Davis, M.; Phillips, A.; Umaoka, Y. (diciembre de 2010). "BCP 47 Extensión U". rfc-editor.org . Editor RFC (informativo). doi : 10.17487/RFC6067 . RFC 6067 . Consultado el 24 de junio de 2022 .

enlaces externos