lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans
2016-10-18 17:40
197 查看
网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别
www.111cn.net 编辑:swteen 来源:转载我们现在使用的软件都会自动在前面加一个申明了,那么在网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别是什么呢?下面我们就一起来看看吧.
单一的 zh 和 zh-CN 均属于废弃用法。
问题主要在于,zh 现在不是语言code了,而是macrolang,能作为语言code的是cmn(国语)、yue(粤语)、wuu(吴语)等。我通常建议写成 zh-cmn 而不是光写 cmn,主要是考虑兼容性(至少可匹配 zh),有不少软件和框架还没有据此更新。
zh-CN 的问题还在于,其实多数情况下标记的是简体中文,但是不恰当的使用了地区,这导致同样用简体中文的 zh-SG(新加坡)等无法匹配。更典型的是 zh-TW 和 zh-HK。所以其实应该使用 zh-Hans / zh-Hant 来表示简体和繁体。那么完整的写法就是 zh-cmn-Hans,表示简体中文书写的普通话/国语。一般而言没有必要加地区代码,除非要表示地区特异性,一般是词汇不一样(比如维基百科的大陆简体和新马简体)。
如何标记的例子:
简体中文页面:html lang=zh-cmn-Hans
繁体中文页面:html lang=zh-cmn-Hant
英语页面:html lang=en
需要加地区代码的情况一般比较少,除非为了强调不同地区汉语使用差异。比如:
<p lang="zh-cmn-Hans">
<b lang="zh-cmn-Hans-CN">菠萝</b>和<b lang="zh-cmn-Hant-TW">?梨</b>其实是同一种水果。只是大陆和台湾称谓不同,且新马一带的称谓也是不同的,称之为<b lang="zh-cmn-Hans-SG">黄梨</b>。
</p>
当然,由于历史原因,有时候不得不继续使用zh-CN。比如中文维基百科,沿用了传统的zh-CN/zh-HK/zh-SG/zh-TW(按照标准应该使用 zh-cmn-Hans-CN、zh-cmn-Hant-HK、zh-cmn-Hans-SG、zh-cmn-Hant-TW)。这时候,合理的软件行为,是将 zh-CN 等转化为 zh-cmn-Hans(即转化为最常见的误用所对应的实际标准写法)。
实际上,各相关标准,也存在一定的滞后。例如CSS的:lang选择器,不支持选择仅仅简体/繁体中文(而不管是cmn或是yue或是min等汉语方言)。理想情况是CSS3对:lang选择器的语法进行升级,即BCP 47中的高级匹配算法,支持 :lang(*-Hans)这样的写法。
相关文章推荐
- 网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别
- 网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别
- 网页头部的声明 lang="zh"和 lang="zh-cn" 及 lang="zh-cmn"的区别
- 多语言版本开发中的中文zh-cn 与 zh-hans 是什么关系、有什么区别?
- easyui-lang-zh_CN.js出现变量未结束错误
- JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法
- 网页头部的声明应该是用 lang="zh" 还是 lang="zh-cn"?
- easyui-lang-zh_CN.js导入后还是英文提示
- Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US
- Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US
- Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US
- http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=83c3a1ec-ed72-4a79-8961-25635db0192b visal studio 200
- lang="zh-CN"
- Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US
- IE 11 请求语言zh-Hans-CN所引发的问题及解决方案
- LANG = "zh_CN.GB2312"异常的解决
- Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US
- lang="zh-CN"还是 lang="zh"
- ext问题:ext-lang-zh_CN.js 未结束的字符串常量(解决)
- JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法