語種名稱程式碼

阮一峰發表於2008-02-24

們經常需要用縮寫的程式碼來表示一種語言,比如用en表示英語,用de表示德語。ISO 639就是規定語種程式碼的國際標準。

最早的時候,ISO 639規定的程式碼是,用兩個拉丁字母表示一種語言,這被稱為ISO 639-1。但是,兩個拉丁字母最多隻有262=676種組合,而世界上已知的語言總數可能有六七千種,因此明顯是不夠的。所以,後來又規定了ISO 639-2,用三個拉丁字母的組合表示一種語言。

常見語言的ISO 程式碼如下表。

ISO639-1 CodeISO639-2 Code中文名英文名
arara阿拉伯語Arabic
kokor朝鮮語Korean
dedeu德語German
rurus俄語Russian
frfra法語French
zhzho漢語Chinese
lalat拉丁語Latin
ptpor葡萄牙語Portuguese
jajpn日語Japanese
esspa西班牙語Spainese
eneng英語English
itita義大利語Italian
hihin印地語Hindi
yiyid意第緒語Yiddish

完整的語言程式碼表請看這裡

但是隻規定語種程式碼還不夠,在同一種語言中,往往還包括許多種變體,比如中文分為簡體中文和繁體中文兩種,因此還必須規定子程式碼。

以往,人們常用zh-CN表示在中國大陸地區使用的中文,也就是簡體中文,用zh-TW表示在臺灣地區使用的中文,也就是繁體中文。但是,這種表示法很不完善,試問中國大陸地區出版的繁體中文書籍,應該如何用程式碼表示呢?

目前,語言的標籤表示法的國際標準是RFC 4646,名稱是《Tags for Identifying Languages》。

簡單說,這個檔案規定,一種語言的標籤應該按照如下方式排列:

language-script-region-variant-extension-privateuse

1. language:這部分就是ISO 639規定的程式碼,比如中文是zh。

2. script:表示變體,比如簡體漢字是zh-Hans,繁體漢字是zh-Hant。

3. region:表示語言使用的地理區域,比如zh-Hans-CN就是中國大陸使用的簡體中文。

4. variant:表示方言。

5. extension-privateus:表示擴充套件用途和私有標識。

一般約定,language標籤全部小寫,region標籤全部大寫,script標籤只有首字母大寫。不同標籤之間用連字號-連結。

下面列出一些與中文有關的語言標籤。

zh-Hans 簡體中文
zh-Hans-CN 大陸地區使用的簡體中文
zh-Hans-HK 香港地區使用的簡體中文
zh-Hans-MO 澳門使用的簡體中文
zh-Hans-SG 新加坡使用的簡體中文
zh-Hans-TW 臺灣使用的簡體中文
zh-Hant 繁體中文
zh-Hant-CN 大陸地區使用的繁體中文
zh-Hant-HK 香港地區使用的繁體中文
zh-Hant-MO 澳門使用的繁體中文
zh-Hant-SG 新加坡使用的繁體中文
zh-Hant-TW 臺灣使用的繁體中文

此外,還有一些目前仍在使用,但因不符合規範,將被逐步替代(grandfathered)的標籤。

zh-hakka 客家話
zh-cmn 普通話
zh-cmn-Hans 簡體普通話
zh-cmn-Hant 繁體普通話
zh-gan 江西話
zh-guoyu 國語
zh-min 福建話
zh-min-nan 閩南話
zh-wuu 吳語(上海話)
zh-xiang 湖南話
zh-yue 粵語

有一點需要注意,任何合法的標籤都必須經過IANA的認證,已透過認證的標籤可以在這個網頁查到。此外,網上還有一個非官方的標籤搜尋引擎

[延伸閱讀]

* W3C: Language tags in HTML and XML

(完)

相關文章