我们经常需要用缩写的代码来表示一种语言,比如用 en 表示英语,用 de 表示德语。ISO 639 就是规定语种代码的国际标准。
最早的时候,ISO 639 规定的代码是,用两个拉丁字母表示一种语言,这被称为 ISO 639-1。但是,两个拉丁字母最多只有 262=676 种组合,而世界上已知的语言总数可能有六七千种,因此明显是不够的。所以,后来又规定了 ISO 639-2,用三个拉丁字母的组合表示一种语言。
常见语言的 ISO 代码如下表。
ISO639-1 Code | ISO639-2 Code | 中文名 | 英文名 |
ar | ara | 阿拉伯语 | Arabic |
ko | kor | 朝鲜语 | Korean |
de | deu | 德语 | German |
ru | rus | 俄语 | Russian |
fr | fra | 法语 | French |
zh | zho | 汉语 | Chinese |
la | lat | 拉丁语 | Latin |
pt | por | 葡萄牙语 | Portuguese |
ja | jpn | 日语 | Japanese |
es | spa | 西班牙语 | Spainese |
en | eng | 英语 | English |
it | ita | 意大利语 | Italian |
hi | hin | 印地语 | Hindi |
yi | yid | 意第绪语 | 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 的认证,已通过认证的标签可以在这个网页查到。此外,网上还有一个非官方的标签搜索引擎。
No comments:
Post a Comment