­

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

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

遇到问题

不知道大家有没有留意到一个问题,就是使用 VsCode 新建的 html 文件的,根标签会有 lang=”en” 。

这样会导致打开网页的时候,浏览器的右上角会蹦出一个翻译英文提示。

翻译弹窗

1666427117231

源文件 lang=”en”

如何解决

修改设置

在 VsCode 设置界面,给 emmet 代码片段添加变量,设置 lang zh-CN。

img

测试成果

变量设置生效 lang="zh-CN"

1666427308619

思考于争议

  • 曾经因为 lang 设置为设置
  • 描述“中文 (简体, 中国大陆)”用 zh-CN 即可。
网站 网址 lang 值
淘宝 //www.taobao.com/ lang=”zh-CN”
腾讯网 //www.qq.com/ lang=”zh-CN”
腾讯 alloyteam //www.alloyteam.com/ lang=”zh-cn”
Bilibili //www.bilibili.com/ lang=”zh-CN”
apifox //www.apifox.cn/ lang=”zh-CN”
uniapp //uniapp.dcloud.net.cn lang=”zh-CN”
小米 //www.mi.com/ lang=”zh-CN”
博客园 //www.cnblogs.com/ lang=”zh-cn”
微软(中国大陆) //www.microsoft.com/zh-cn/ lang=”zh-CN”
苹果(中国大陆) //www.apple.com.cn/ lang=”zh-CN”
谷歌(简体中文) //www.google.com.hk/ lang=”zh-CN”
VueJS(简体中文) //cn.vuejs.org/ lang=”zh-CN”
百度 //www.baidu.com/
京东 //www.jd.com
网易 //www.163.com/
微信 //weixin.qq.com/
抖音 //www.douyin.com/
黑马程序员 //www.itheima.com/
传智播客 //www.itcast.cn/
掘金 //juejin.cn/ lang=”zh”
CSDN //www.csdn.net/ lang=”zh”
知乎 //www.zhihu.com/ lang=”zh”
Facebook(简体中文) //www.facebook.com/ lang=”zh-Hans”
React(简体中文) //zh-hans.reactjs.org/ lang=”zh-Hans”
YouTube(简体中文) //www.youtube.com lang=”zh-Hans-CN”
维基百科(简体中文) //zh.wikipedia.org/ lang=”zh-Hans-CN”
豆瓣 //www.douban.com lang=”zh-cmn-Hans”

为什么列这个表格

知乎讨论://www.zhihu.com/question/20797118

W3C官网: //www.w3.org/International/articles/language-tags/

PS:考虑到大家不会主动打开 W3C 链接,所以我截图标记出 W3C 对 zh-CN 部分描述。

img

结论

  • 描述“中文 (简体, 中国大陆)” 用 zh-CN 即可,而且也是最多国内外大厂采用的方式,所有浏览器都能准确识别,通俗易懂,推荐使用。

  • 其实模糊设置为 zh 或者精确设置为zh-Hanszh-Hans-CNzh-cmn-Hans ,其实浏览器都能识别成中文。

  • 如果不设置 lang ,让浏览器自动推导语言也是可以的。

  • 中文体系是复杂的,但标准是为开发者服务的,同时浏览器也是智能的。其实设置为 zh-CNzh-Hanszh-Hans-CNzh-cmn-Hans 还是 zh 其实都无所谓,不要再使用默认的 lang="en" 即可。

Tags: