BCP 47 語言標籤
BCP 47 語言標籤是一串字元,它精確地指定了一種人類語言,包括基本語言,以及可選的文字系統和方言。例如,en 指定英語,而 en-GB 和 en-US 則更精確地指定了英式英語和美式英語。
BCP 47 語言標籤在 Web 平臺中用於任何根據指定語言輸出不同結果的功能,從而實現國際化支援。
示例包括
- HTML
lang屬性 - HTML
<track>元素 Temporal物件CanvasRenderingContext2D.lang屬性- 翻譯器和語言檢測器 API
BCP 47 語法
完整的 BCP 47 語法在 RFC 5646 中指定。它能夠識別極其具體的語言方言,但大多數用法要簡單得多。
語言標籤由連字元分隔的子標籤組成,每個子標籤表示語言的某個屬性。最常見的三個子標籤是:
- 語言子標籤
-
一個 2 或 3 個字元的程式碼,定義了基本語言,通常全部小寫。例如,英語的語言程式碼是
en,Badeshi 語的程式碼是bdz。 - 文字子標籤 可選
-
此子標籤定義了語言使用的文字系統,始終為 4 個字元長,首字母大寫。例如,法語盲文是
fr-Brai,片假名書寫的日語是ja-Kana。注意:如果語言以高度典型的方式書寫,例如拉丁字母的英語,則無需使用此子標籤。
- 地區子標籤 可選
-
此子標籤定義了來自特定位置的基礎語言的方言,它要麼是兩個大寫字母(與國家程式碼匹配),要麼是三個數字(與非國家地區匹配)。例如,
es-ES表示西班牙使用的西班牙語,es-013表示中美洲使用的西班牙語。“國際西班牙語”則只是es。
如果文字子標籤和地區子標籤都存在,則文字子標籤在地區子標籤之前 — ru-Cyrl-BY 是俄語,用西裡爾字母書寫,在白俄羅斯使用。
另見
- 常見主要語言子標籤列表
- RFC 5646:用於識別語言的標籤:BCP 47 語言標籤的指定位置。
- 選擇語言標籤:W3C 關於選擇正確語言標籤的指南。
- BCP 47 語言子標籤查詢:查詢語言的子標籤程式碼。