回答一:

作者:知乎用户
链接: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 规范才行,不过这里我简单描述下一般也能懂。

=== 进入正文 ===

首先一个语言的描述规则是下面这样的:

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 。帮你搬运过来就是:

%%
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

zh-cn 与 zh-hans 是什么关系、有什么区别的更多相关文章

  1. Hadoop与MPP是什么关系?有什么区别和联系?

    HADOOP与MPP是什么关系?有什么区别和联系? 适用范围.应用领域分别是什么? 其实MPP架构的关系型数据库与Hadoop的理论基础是极其相似的,都是将运算分布到节点中独立运算后进行结果合并.个人 ...

  2. hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换)。

    hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换). 解答:在Hibernate中,对象有三种状态:临时状态.持久状态和游离状态. 临时状态:当new一个实体对象后,这个对 ...

  3. Project 2013 安装找不到office.zh cn的解决办法

    先按照百度的办法,去“C:\Users\<你的电脑名>\AppData\Local\Temp\”下找类似“OWPFD24.tmp”的文件夹,结果发现并没有这个文件夹 , 没办法,自己硬着头 ...

  4. 【hibernate学习杂记】维护关系的一方和不维护关系的一方的区别与联系

    双向多对一/一对多例子 维护关系一方为User:多方 不维护关系的一方为Group:一方 以下是多方代码: package Hibernate_demo1.Demo8.Entity.OneToMany ...

  5. oracle和postgresql 递归查询父子关系记录语法区别

    oracle: 一.数据 db数据字段如下: task_id             task_name         t.parent_task_id       *** ***          ...

  6. java 加载dll介绍(转)

    最近在做的工作要用到本地方法,需要在Java中加载不少动态链接库(以下为方便延用Windows平台下的简写dll,但并不局限于Windows).刚刚把程序跑通,赶紧把一些心得写出来,mark.也希望对 ...

  7. LDAP未授权访问学习

    LDAP未授权访问学习 一.LDAP 介绍 LDAP的全称为Lightweight Directory Access Protocol(轻量级目录访问协议), 基于X.500标准, 支持 TCP/IP ...

  8. 网页头部的声明应该是用 lang="zh" 还是 lang="zh-CN"?

    网页头部的声明应该是用 lang="zh" 还是 lang="zh-CN"? 遇到问题 不知道大家有没有留意到一个问题,就是使用 VsCode 新建的 html ...

  9. UML类图的6大关系

    <小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...

  10. 初识UML类图--类之间关系

    前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...

随机推荐

  1. oracle数据库升级dbua操作阻塞解决方法(解决ORA-32004报错)

    操作环境 1.SuSE11sp3操作系统 2.oracle 11.2.0.3版本升级到11.2.0.4版本 问题现象   oracle 11.2.0.3版本升级到11.2.0.4版本时执行dbua命令 ...

  2. Django后台邮箱配置

    Django可以通过发送邮件的方式找回密码,具体细节可以看Django的文档,这里只介绍在settings.py中如何正确进行邮箱的相关配置. 网上很多教程都说了需要在settings.py里添加如下 ...

  3. 记录Git的安装过程

    从https://git-scm.com/download/win,选择Windos版本下载. 选择打开的工具,用的Notepad. 下一步 下一步

  4. python判断任务是CPU密集型还是IO密集型

    目前已经知道,在需要并发执行任务的时候,需要使用多线程或者多进程;如果是IO密集型任务,使用多线程,如果是CPU密集型任务,使用多进程;但问题是,经常我们会遇到一种情况就是:需要被执行的任务既有IO操 ...

  5. 组播协议——IGMP v2报文头介绍

    TYPE:占一个字节,其值有:0x16.0x12.0x17三种类型. Max Resp Time:最大响应时间,占一个字节. Checksum:校验和,占两个字节. Group address:组播地 ...

  6. effective C++学习三(仅供个人学习记录,本文摘录effective C++)

    条款 3:尽量用 new 和 delete 而不用 malloc 和 free  把 new和 delete 与malloc 和 free 混在一起用也是个坏想法.对一个用 new 获取来的指针调用 ...

  7. MVC 中Controller返回值类型ActionResult

    下面列举Asp.net MVC中Controller中的ActionResult返回类型 1.返回ViewResult视图结果,将视图呈现给网页 public ActionResult About() ...

  8. linux c 编程相关资料

    1. linux下的错误定义及其错误捕获:http://blog.csdn.net/tigerjibo/article/details/6819891 2. 在线 c 系统调用手册 http://c. ...

  9. yyyy-MM-dd 转换为年月日

      yyyy-MM-dd 转换为年月日   先用parse转成date型,再用format转成string. Date date = new SimpleDateFormat("yyyy-M ...

  10. day21 xml模块 ATM+购物车

    1. xml模块 <father name="jack"> # 属性的值必须加双引号 <son> 标签的关闭顺序,与开启顺序相反, 最先开启的最后关闭,最后 ...