当我们浏览一个网页时,浏览器会向 WEB 服务器发送一个名为 accept-language
的请求头。这个请求头包含了我们期望服务器返回的语言信息,一个典型的 accept-language
数据值可以是下面这样:
zh-CN,zh;q=0.9,en;q=0.8,fr;q=0.7,pt;q=0.6,so;q=0.5,de;q=0.4,en-US;q=0.3,ko;q=0.2,ja;q=0.1,zh-TW;q=0.1,und;q=0.1
但是有时我们也会在源代码中看到诸如 zh-Hans 和 zh-Hant 的字样。比如微软的文档就采用了 zh-cn 的形式:https://docs.microsoft.com/zh-cn/ ,ABP Framework 则采用了 zh-Hans :https://docs.abp.io/zh-Hans/abp/latest/ 。
zh-CN:地区限制匹配规范,表示用在中国大陆区域的中文。包括各种大方言、小方言、繁体、简体等等都可以被匹配到。
zh-Hans:语言限制匹配规范,表示简体中文。适用区域范围是全宇宙用中文简体的地方,内容包括各种用简体的方言等。
目前仅有 Windows 10 系统以及 Edge 浏览器支持 zh-Hans 写法。旧的操作系统与当下的主流浏览器均使用 zh、zh-CN 来代表简体中文,zh-TW 来代表繁体中文。
如果需要对 HTML5 网页的lang属性进行标记,如果网站只有一种语言,则直接写 lang=”zh” 即可。如果有多种语言支持,则可以写成 lang=”zh-CN” 或 lang=”zh-TW” 。