网页头部的声明应该是用 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. java学习第四天高级数组.day13

    正则表达式 冒泡排序 二分法查找 线性查找:从头找到尾,性能比较低. 二分法查找(折半查找):前提数组元素是有序的,性能非常优异. Arrays

  2. JavaScript 函数对象(Function 对象)

    函数对象 当我们对函数使用 typeof 操作符会返回什么? function f() { console.log('hello') } console.dir(typeof f) // functi ...

  3. 经典01背包问题(C++)--详解

    二维数组解决01背包问题 题目: 有 N 件物品和一个容量是 V 的背包.每件物品只能使用一次. 第 i 件物品的体积是 vi,价值是 wi. 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容 ...

  4. 定时器控制单只LED灯

    点击查看代码 #include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit LED=P0^0; ...

  5. 并发与并行,同步和异步,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang并发编程之GoroutineEP13

    如果说Go lang是静态语言中的皇冠,那么,Goroutine就是并发编程方式中的钻石.Goroutine是Go语言设计体系中最核心的精华,它非常轻量,一个 Goroutine 只占几 KB,并且这 ...

  6. dotnet 设计规范 · 抽象定义

    严格来说,只有一个类被其他的类继承,那么这个类就是基类.在很多时候,基类的定义是提供足够的抽象和通用方法和属性.默认实现.在继承关系中,基类定义在上层抽象和底层自定义之间. 他们充当抽象实现的实现帮助 ...

  7. Linux有趣命令

    通外网 下载使用阿里云镜像源:wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.re ...

  8. KingbaseES V8R6集群维护案例之---停用集群node_export进程

    案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...

  9. KingbaseES 匿名块如何传递参数

    匿名块的基本语法结构包括声明和执行两部分.匿名块每次提交都被重新编译和执行.因为匿名块没有名称并不在数据库中存储,所以匿名块不能直接从其他PL/SQL 块中调用. 定义语法: [ DECLARE ] ...

  10. 从零开始搭建gitea代码管理平台

    Gitea,一款极易搭建的Git自助服务.如其名,Git with a cup of tea.跨平台的开源服务,支持Linux.Windows.macOS和ARM平台.配置要求低,甚至可以运行在树莓派 ...