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

遇到问题

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

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

翻译弹窗

源文件 lang="en"

如何解决

修改设置

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

测试成果

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

思考于争议

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

为什么列这个表格

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

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

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

结论

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

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

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

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

网页头部的声明应该是用 lang="zh" 还是 lang="zh-CN"?的更多相关文章

  1. 网页头部的声明应该是用 lang="";

    我们经常需要用缩写的代码来表示一种语言,比如用en表示英语,用de表示德语.ISO 639就是规定语种代码的国际标准.最早的时候,ISO 639规定的代码是,用两个拉丁字母表示一种语言,这被称为ISO ...

  2. 网页头部 lang的声明

    1. 简体中文页面:html lang=zh-cmn-Hans2. 繁体中文页面:html lang=zh-cmn-Hant3. 英语页面:html lang=en 4. <回来>的音频, ...

  3. MapReduce错误之Error: java.lang.RuntimeException: java.lang.NoSuchMethodException的解决方法

    今天跑MapReduce项目的时候遇到了这个问题,日志如下所示: // :: DEBUG ipc.ProtobufRpcEngine: Call: getDiagnostics took 19ms E ...

  4. centos 解压jdk安装包方式安装jdk 出现 java/lang/NoClassDefFoundError: java/lang/Object 错误

    安装完JDK ,设定环境变量后出现这个错误: [root@localhost lib]# javacError occurred during initialization of VMjava/lan ...

  5. java.lang.ClassCastException: java.lang.String cannot be cast to com.jy.hfims.domain 映射实体类型错误

    今天在做 excel导出的时候,出现了一个问题"java.lang.ClassCastException: java.lang.String cannot be cast to com.do ...

  6. Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object

    本地原来已经安装了JAVA JDK1.7并配置好了环境变量; 然后又安装了JDK8,想2个版本并存. 然后发现eclipse 打不开,闪退.然后查看环境: 发现 C:\Users\Administra ...

  7. Java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

    今天接入激光推送,一直报错: Java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker; ...

  8. java.lang.RuntimeException: java.lang.ClassNotFoundException: cmd.CmdWordCount$MyMapper解决方法

    14/02/28 20:29:48 INFO mapred.JobClient: Task Id : attempt_201402281833_0004_m_000000_1, Status : FA ...

  9. java.lang.ClassCastException: Ljava.lang.Object; cannot be cast to com.entity.Advertisem异常

    今天一不小心就碰到了这样的问题,以前从来没有碰到过,在网上搜了很多办法,思路正确,但是还是要根据自己的程序改变. 一开始写的是hql语句进行统计每个月的数据,但是试了很久,程序一直提醒hql语句异常, ...

随机推荐

  1. FreeSql 将 Saas 租户方案精简到极致[.NET ORM SAAS]

    什么是多租户 维基百科:"软件多租户是指一种软件架构,在这种软件架构中,软件的一个实例运行在服务器上并且为多个租户服务".一个租户是一组共享该软件实例特定权限的用户.有了多租户架构 ...

  2. 程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果

    谁说程序员不懂浪漫? 作为程序员,用自己的代码本事手搓一个技术感十足的惊喜,我觉得,这是不亚于车马慢时代手写信的古典主义浪漫. 那么,应该怎样创作出具有自我身份属性的浪漫惊喜呢? 玩法很多,今天给大家 ...

  3. [原创] RestartPC64-中文版v1.0.0.9

    原来发布的RestartPC-中文版和英文版v1.0.0.5,在PE64下无效.所以重新编译了64位版的RestartPC64-中文版v1.0.0.9,可以在PE64下面.正常Win64系统下面重启关 ...

  4. ajax.readyState与ajax.status一览

    ajax.readyState 0 -(未初始化)还没有调用send()方法 1 -(载入)已调用send()方法,正在发送请求 2 -(载入完成)send()方法执行完成,已经接收到全部响应内容 3 ...

  5. Luogu3803 【模板】多项式乘法(FFT)

    为什么我这么弱 其实FFT也挺水的,一点数学基础加上细心即可.细节·技巧挺多. 递归 在TLE的边缘苦苦挣扎 #include <iostream> #include <cstdio ...

  6. IP 地址分类和子网掩码

    IP 地址分类 IP 地址是由 4 组 8 位二进制表示的,格式为:xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.十进制表示的格式为:xxxx.xxxx.xxxx.xxxx, ...

  7. C++中的cout.setf(ios::fixed)是什么意思?

    问题描述:在阅读一段代码时,发现代码的最后一部分出现 ... cout.setf(ios::fixed); cout.setf(ios::showpoint); ... 解决: cout.setf() ...

  8. HCNP Routing&Switching之MAC地址防漂移

    前文我们了解了二层端口安全技术相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16631222.html:今天我们来聊一聊MAC地址防漂移技术: 首先我 ...

  9. Dapr中国社区活动之 分布式运行时开发者日 (2022.09.03)

    自2019年10月首次发布以来,Dapr(Distributed Application Runtime,分布式应用运行时)因其"更稳定"."更可靠".&quo ...

  10. 面试突击79:Bean 作用域是啥?它有几种类型?

    Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域是什么意思?又有几种类型呢?接下来我们一起来看. PS:Java ...