语种名称代码

作者: 阮一峰

日期: 2008年2月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

(完)

留言(14条)

峰哥,你的http://www.ruanyifeng.com/calvino/,感觉很好,我做了友情链接。
祝一切顺利~

你好,首先很抱歉打扰了。因为很喜欢《百年孤独》,留下脚印只是想问下,为什么马尔克斯不愿意把他的版权卖给中国人?他和中国之间还有什么故事吗?谢谢

自然是盗版

我查了一些资料,觉得最后一段
“还有一些目前仍在使用,但因不符合规范,将被逐步替代(grandfathered)的标签。”
值得探讨。

这些写法属于 Dialect,根据下面这个网页的介绍,
http://www.w3.org/International/articles/language-tags/
它们应该属于未来将来新增的规则,并不是要逐步替代的标签。况且,这些写法也无法用其他写法来代替。

很好的文章...已連結...謝謝

zh-Hans 简体中文
zh-Hant 繁体中文


推荐用法:

还看得有zh_CHS、zh_CHT分别表示中文简体、繁体,与文中的zh-Hans、zh-Hant什么区别呢

粤语用zh-Hans-CN-yue来表示是不是符合规范的呢?

看来这儿就是来源了。script是文字不是变体,比如汉语可用汉字、拼音、注音等书写

好奇怪 为什么是zh而不是中(z)国(g),也不是ch(China)呢

引用燃力冲天的美眉的发言:

好奇怪 为什么是zh而不是中(z)国(g),也不是ch(China)呢

zh中华?

引用哇啦的发言:

好问题哈

ZH是中文(zhōngwén)的标准简写。参见ISO 639-1
CH是习惯写法,来源于Chinese

IANA 已经认证的 tags 以及 RFC 4646 这两个链接解决了我的问题。本文末尾的标签搜索引擎链接已失效。今年2021年,谢谢你13年前为互联网贡献的内容。

2009 年 RFC 4646 就已经被 RFC 5646 取代了。另外,这里还有一个标签搜素引擎

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接