网页头部的声明应该是用 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. Apache DolphinScheduler ASF 孵化器毕业一周年,汇报来了!

    不知不觉,Apache DolphinScheduler 已经从 Apache 软件基金会(以下简称 ASF)孵化器毕业一年啦! 北京时间 2021 年 4 月 9 日,ASF 官方宣布 Apache ...

  2. POJ3903Stock Exchange (LIS)

    学了下BIT,炸了... #include <iostream> #include <cstdio> #include <cstring> #include < ...

  3. 业界压测平台与JMeter的对比

    压测平台是什么? 压测,即压力测试,作用是对各种服务对象进行压力测试以获得该服务处于或超过预期负载时系统的运行情况,进而判断系统在峰值负载或超出最大负载情况下的处理能力. 压测工具,顾名思义,就是用来 ...

  4. JavaScript 异步编程(二):Promise

    PromiseState Promise 有一个 [[PromiseState]] 属性,表示当前的状态,状态有 pending 和 fulfill 以及 reject. 从第一个 Promise 开 ...

  5. Dreamweaver8 网站制作软件使用教程

    Dreamweaver是我喜欢做网站的软件.之所以喜欢Dreamweaver 8 是因为这个版本有折叠功能. 下面说说它的使用方法. 1.创建站点文件.注意看截图的顺序,如下图 2.选择你喜欢的编辑模 ...

  6. vs完整编译Opencv+contrib

    准备条件 Opencv源码(以4.3.0为例) OpenContrib源码(以4.3.0)为例 最新版的CMake GUI CMake 生成项目 设置source code 和生成的build文件夹 ...

  7. centOS7.x修改root密码

    方法一: 在开机的时候选中这一行(注意光标要进入虚拟机),然后按下e键 然后找到这一行(linux 16开头的)其中的ro,将其改为 rw init=sysroot/bin/sh 按ctrl+x执行 ...

  8. 数据卷之Docker File

    DockerFile 是用来构建Docker镜像的构建文件,是由一些列命令和参数构成的脚本.后面再详细了解 DockerFile ! 1.我们在宿主机 /home 目录下新建一个 docker-tes ...

  9. gem5 使用记录, 基于理解来写个最简单的计数器程序

    学习GEM5其实是因为工作需要,主要是用来做数字电路的模型仿真的,之前用过 systemC,现在公司用的 gem5,其实本质上都是 C++只是套个不同的壳然后拿去仿真而已,SC本身就提供了时钟可以仿真 ...

  10. 跨语言调用C#代码的新方式-DllExport

    简介 上一篇文章使用C#编写一个.NET分析器文章发布以后,很多小伙伴都对最新的NativeAOT函数导出比较感兴趣,今天故写一篇短文来介绍一下如何使用它. 在以前,如果有其他语言需要调用C#编写的库 ...