回答一: 做者:知乎用户 连接:https://www.zhihu.com/question/21980689/answer/19923726 来源:知乎 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。 如今的话,推荐阅读这个: 网页头部的声明应该是用 lang="zh" 仍是 lang="zh-cn"? - 前端开发 ------------ 在提供了多语言支持的软件中,为何会看到 zh-hans、zh-CN、zh_CN 等多种简体中文的写法?有什么历史缘由?当前的规范和最佳实践是怎样的? 彷佛重复了。 至于区别么……M$是这样说的…… What's New in Globalization and Localization zh-CHS 是单纯的简体中文。 zh-CHT 是单纯的繁体中文。 zh-Hans和zh-CHS相同相对应。 zh-Hant和zh-CHT相同相对应。 以上时zh-CHS/zh-Hans 和 zh-CHT/zh-Hant的关系。 而后是 zh-CN 简体中文,中华人民共和国 zh-HK 繁体中文,香港特别行政区 zh-MO 繁体中文,澳门特别行政区 -zh-SG 繁体中文,新加坡- zh-SG 简体中文,新加坡 zh-TW 繁体中文,台湾 这些按照语言+国家进行区分。 按照MSDN上的说法,这些东西和上面按照语言进行区分的关系是…… zh-CN → zh-CHS → zh-Hans → zh → Invariant zh-TW → zh-CHT → zh-Hant → zh → Invariant
回答二:
zh-hans包含zh-cn、zh-sg與zh-my
回答三:
做者:于江水
连接:https://www.zhihu.com/question/21980689/answer/93615123
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
什么关系?都是描述语言的。
什么区别?描述语言的范围不同。前端
完全让你搞明白这个问题须要追本溯源一直追到 http://www.rfc-editor.org/rfc/bcp/bcp47.txt 规范才行,不过这里我简单描述下通常也能懂。spa
=== 进入正文 ===code
首先一个语言的描述规则是下面这样的:blog
language-extlang-script-region-variant-extension-privateuse
语言文字种类-扩展语言文字种类-变体-使用区域-方言-扩展-私有
这些字符串对应的值拼接起来能够对应一个准确的语言。为了方便辨识和识别,一般还有约定:
- language 全小写,一般两位,新版规范三位,好比:zh
- extlang 全小写,三位,表示扩展语言,好比:粤语 yue (这里还有个 macrolanguage 的事情,先不提了)
- script 首字母大写,四位,表示变体,好比:中文的 繁体字 Hant 和 简体字 Hans
- region 全大写,两位,表示用于地区,好比:都是繁体中文,香港的惯用语与台湾的会有区别
因此你问题中的惯用写法应该改为 zh-CN 和 zh-Hans。前者第二位用了地区限制匹配范围,后者用了文字变体限制。具体值对应的内容能够在这里搜索 http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry 。帮你搬运过来就是:ip
%%
Type: region
Subtag: CN
Description: China
Added: 2005-10-16
%%
和开发
%%
Type: script
Subtag: Hans
Description: Han (Simplified variant)
Added: 2005-10-16
%%
因此区别就很明显了:
- zh-CN 表示用在中国大陆区域的中文。包括各类大方言、小方言、繁体、简体等等均可以被匹配到。
- zh-Hans 表示简体中文。适用区域范围是全宇宙用中文简体的地方,内容包括各类用简体的方言等。
来源:https://www.zhihu.com/question/21980689/answer/19923726字符串