teidata.language

teidata.language 自然言語と表記体系の組合せを示す表現を値域とする属性値を定義する。 [vi.1. Language Identification]
モジュール tei — The TEI Infrastructure
当該モジュールを使用するもの
クラス:
要素:
Content model
<content>
 <alternate>
  <dataRef name="language"/>
  <valList>
   <valItem ident=""/>
  </valList>
 </alternate>
</content>
宣言
<rng:define name="teidata.language">
 <rng:choice>
  <rng:data type="language"/>
  <rng:choice>
   <rng:value/>
  </rng:choice>
 </rng:choice>
</rng:define>
teidata.language = xsd:language | ( "" )
解説

当該属性値は、BCP 47で定義されている言語‘タグ’である。 BCP 47は、RFC 5646とRFC 4647からなる。将来的に、その他のIETF文書が現状における最良の慣行としての地位を受け継ぐかもしれない。

BCP 47における‘言語タグ’とは、ハイフン (-, U+002D)で区切られた一連の下位タグと呼ばれる構成要素からなっている。 下位タグは、以下の順番に並べられる。 下位タグは、初めの1つ以外は必須でない。もし存在するときは、それぞれの下位タグは、繰返し可能な4番目と5番目の構成要素(変種と拡張)をのぞき、1度までしか用いられない。

言語
IANAに登録された、言語に対するコード。 これは、当該言語が既にISO 639の2文字言語コードにあれば、ほとんどのばあい、それと同一である。 利用可能な言語下位タグのリストはhttps://www.iana.org/assignments/language-subtag-registry/language-subtag-registryにある。 言語コードは、小文字で書くことが推奨されている。
用字系
ISO 15924による用字系を示すコード。 4文字から構成され、先頭の文字は大文字で、残りの3文字は小文字で書くことが推奨されている。 公式なコードのリストは、ユニコードコンソーシアムが管理しており、 https://unicode.org/iso15924/iso15924-codes.htmlから入手することができる。 IETFでは、不要であれば当該コードを省略することを推奨している。
地域
IANAに登録されたISO 3166の国名コードまたはUN M.49による地域コード (但し全てが〔IANAに〕登録されてはいない。例えば、UNコードのうち、経済圏やISO 3166の2文字コードが存在するものは含まれない)。 このうち前者は、2文字から構成され、大文字で書かれることが推奨されている。このコードのリストは、 https://www.iso.org/obp/ui/#search/code/ にあり、確認できる。 後者は、数字3桁から構成されている。このコードは、 https://unstats.un.org/unsd/methodology/m49/にある。
変種
IANAに登録された変種。 このコードは、他の下位タグでは対応できない、その他のよく知られている言語や方言として定義される変種を示すために使用される
拡張
拡張は、英字1文字、ハイフン、後続する(1つ以上の)下位タグの形式からなる。 これは、BCP 47が将来拡張された時のためにある。執筆時点ではそのような拡張はない。〔2024年時点ではuとtの2つの拡張が存在する。〕
私用
拡張の先頭の下位タグがx1文字である (すなわち、x-で始まる) ものは、関係者間で取り決めがある場合のみ意味を持つ。 このコードは十分に注意して使用しなければならない。これは、RFC 4646を使用する目的である相互運用性を損なうからである。〔現在ではRFC 4646は廃止され、RFC 5646を使用すべきである。〕 文書内で私用タグを使う場合、TEIに準拠するためにはlanguage要素をTEIヘッダー中に記述しなければならない。

上記記述形式には、2つの例外がある。 ひとつは、IANAレジストリにある言語タグには、上述の形式に違反しているが有効なものがある。これはIANAでは以前の形式では許容されていた‘歴史的例外’だからである。

ふたつめは、言語タグ全体を私用タグにすることができる。 x-で始まるタグの内容は、IETFにある他の規定にも当該TEIガイドラインにある規定にも従う必要はない。 私用タグを含む言語タグと同様に、その言語をTEIヘッダーにあるlanguage要素に記述しなければならない。

言語コードには、以下のようなものがある。

sn
ショナ語
zh-TW
中国語(台湾)
zh-Hant-HK
繁体字中国語(香港)
en-SL
英語(シエラレオネ)
pl
ポーランド語
es-MX
スペイン語(メキシコ)
es-419
スペイン語(ラテンアメリカ)

W3Cの国際化活動では、BCP 47の解説 「HTMLとXMLで使用される言語タグ」を以下に用意している。