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:
- ISO 639 Code Tables (包含 ISO 639-1, 639-2, 639-3, 639-5)
- 美國國會圖館 ISO 639-1 (2碼), ISO 639-2 (3碼) 清單
建議小寫
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: 中文繁體