data.language

data.language définit la gamme des valeurs d'attributs exprimant une combinaison particulière du langage humain avec un système d'écriture. [vi.1. Language identification]
Moduletei — The TEI Infrastructure
Utilisé par
Classe:
Elément:
Declaration

<rng:define name="data.language">
 <rng:choice>
  <rng:data type="language"/>
  <rng:value/>
 </rng:choice>
</rng:define>
data.language = xsd:language | ""
Note

Les valeurs pour cet attribut sont les ‘étiquettes’ de langue définies dans la norme BCP 47. Actuellement, la norme BCP 47 intègre les normes RFC 4646 et RFC 4647 ; à l'avenir, d'autres documents de l'IETF pourront leur succéder en tant que meilleure pratique.

Une ‘étiquette de langue’, pour la norme BCP 47, est formée par l'assemblage d'une suite de composants ou de sous-étiquettes reliés par un trait d'union (-, U+002D). L'étiquette est composée des sous-étiquettes suivantes, dans l'ordre indiqué. Chaque sous-étiquette est facultative, à l'exception de la première. Chacune ne peut avoir qu'une occurrence, sauf les quatrième et cinquième (variante et extension), qui sont répétables.

langue
Code de langue enregistré par l'IANA. Il est presque toujours identique au code de langue alphabétique ISO 639-2, s'il y en a un. La liste des sous-étiquettes de langue enregistrées est disponible à : http://www.iana.org/assignments/language-subtag-registryIl est recommandé d'écrire ce code en minuscules.
écriture
Code ISO 15924 pour l'écriture. Ces codes sont constitués de 4 lettres, et il est recommandé d'écrire la première lettre en majuscule, les trois autres en minuscules. La liste canonique des codes est maintenue par le Consortium Unicode, et elle est disponible à : http://unicode.org/iso15924/iso15924-codes.html. L'IETF recommande d'omettre ce code, sauf s'il est nécessaire pour établir une distinction.
région
Soit un code de pays ISO 3166, soit un code de région UN M.49 enregistré par l'IANA (tous les codes de ce type ne sont pas enregistrés : par exemple, ne sont pas enregistrés les codes UN pour des regroupements économiques ou les codes de pays pour lesquels il existe déjà un code de pays alphabétique ISO 3166-2). Le premier est constitué de 2 lettres, et il est recommandé de l'écrire en majuscules. La liste des codes est disponible à : http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html. Le second est constitué de 3 chiffres ; la liste des codes est disponible à : http://unstats.un.org/unsd/methods/m49/m49.htm.
variante
Variante enregistrée par l'IANA. Ces codes sont utilisés pour indiquer des variantes additionnelles et bien établies, qui définissent une langue ou ses dialectes et qui ne sont pas couverts par d'autres sous-étiquettes existantes.
extension
Une extension a la forme d'une lettre unique, suivie d'un trait d'union, lui-même suivi de sous-étiquettes additionnelles. Ces dernières existent pour tenir compte d'une future extension de la norme BCP 47, mais à l'heure actuelle de telles extensions ne sont pas utilisées.
usage privé
Une extension utilisant la sous-étiquette initiale de la lettre x (i.e., commençant par x-) n'a pas d'autre signification que celle négociée entre les parties impliquées. Ces sous-étiquettes doivent être utilisées avec beaucoup de prudence, car elles interfèrent avec l'interopérabilité que l'utilisation de la norme RFC 4646 vise à promouvoir. Pour qu'un document qui utilise ces sous-étiquettes soit conforme à la TEI, un élément language correspondant doit être présent dans l'en-tête TEI.

Il y a deux exceptions au format ci-dessus. Premièrement, il y a des codes de langue dans le registre de l'IANA qui ne correspondent pas à la syntaxe ci-dessus, mais qui sont présents car ils ont été ‘hérités’ de spécifications antérieures.

En second lieu, une étiquette complète de langue peut consister seulement en une sous-étiquette d'usage privé. Ces étiquettes commencent par x- ; il n'est pas nécessaire qu'elles suivent les autres règles établies par l'IETF et acceptées par les présents Principes directeurs. Comme toutes les étiquettes de langue qui utilisent des sous-étiquettes d'usage privé, la langue en question doit être documentée dans un élément correspondant language dans l'en-tête TEI.

Les exemples incluent :

sn
Shona
zh-TW
Taïwanais
zh-Hant-HK
Chinois de Hong Kong écrit dans l'écriture traditionnelle
en-SL
Anglais parlé au Sierra Leone
pl
Polonais
es-MX
Espagnol parlé au Mexique
es-419
Espagnol parlé en Amérique latine

La W3C Internationalization Activity a publié une introduction à la norme BCP 47 dont la lecture peut être utile : Language tags in HTML and XML.