xml:lang

XML 規格中, 該屬性值由 IETF BCP 47 (Tags for Identifying Languages, 2009.9) 定義.

TEI 規範中, 該屬性值使用 RFC3066 (2001.1) 的代碼.

BCP 47: Tags for Identifying Languages

不區分大小寫, 某些 code 的大小寫可能有書寫慣例, 但不具有意義.

例如 "mn-Cyrl-MN" 跟 "MN-cYRL-mn" 或 "mN-cYrL-Mn" 是一樣的.

但是按建議保持一致性比較好.

BCP 47 將一個完整個語言碼稱為 Tag, 它由一個或多個 Subtag 組成.

而這些值若來自其他標準, 則稱之為 Code.

單一字母的 subtag 'x' 用於內部自訂使用的 subtag.

Primary Language Subtag 主要語言碼

Language Tag 第一個出現的 subtag 是 primary language subtag.

Code List:

建議小寫

Script Subtag 書寫碼

規則

  • Script subtag 必須跟在 primary language、extended language subtag 之後, 其他 subtag 之前.
  • script subtag 由4碼字母組成, 依據定義: ISO 15924
  • 一個 language tag 裡面最多只能有一個 script subtag, 而且如果它沒增加可資區別的資訊, 那麼它應該被省略.
  • 建議第一個字母大寫, 其餘小寫.

常用例

  • Deva: Devanagari (Nagari), 梵文天城體
  • Hans: Han (Simplified variant), 簡化漢文
  • Hant: Han (Traditional variant), 傳統漢文
  • Latn: Latin
  • Tibt: Tibetan, 藏文

Region Subtag 地區碼

Region subtag 必須跟在 primary language、extended language、script subtag 之後, 其他 subtag 之前.

2碼字母組成, 依據定義: [ISO3166-1] ("Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes")

一個 language tag 裡面最多只能有一個 region subtag, 而且如果它沒增加可資區別的資訊, 那麼它應該被省略.

建議大寫

Variant Subtag

variant subtags 如果以字母開頭, 至少要有5碼; 如果以數字開頭, 至少要有4碼.

常用例

bo-Latn: 以拉丁文轉寫的藏文

bo-Tibt: 以藏文字書寫的藏文

sa-Latn: 以拉丁文轉寫的梵文

sa-Deva: 以天城體書寫的梵文

zh-Hant: 中文繁體