网页头部的声明怎么写?

笔者在今天修改网页模板时发现了lang属性,大可能是模板都是歪果仁写的,因此,通常你们在网页模板里都会见到 这样的写法,由于他们的语言是英文,因此这样写无可厚非。浏览器

可是咱们在修改的时候应该改为什么样子的呢?是 仍是 仍是 ?markdown

说实话,笔者以前一直没有注意这个,因此在写下本文以前也一直出于懵逼状态。框架

因而,笔者查找了一些资料,整理成此文。搜索引擎

这里写图片描述

图1.网页开发截图

 

HTML 的 lang 属性可用于网页或部分网页的语言。这对搜索引擎和浏览器是有帮助的。atom

根据 W3C 推荐标准,咱们应该经过 标签中的 lang 属性对每张页面中的主要语言进行声明,好比:code

lang属性的取值应该遵循 《BCP 47 - Tags for Identifying Languages》
对因而否可使用 , [4.1.2. Using Extended Language Subtags] 中说明以下:blog

 

这里写图片描述

图2.《BCP 47 - Tags for Identifying Languages》摘要

即:

 

随着本文件的采用,特定的ISO 639-3子标签可用于识别这些不一样语言系列或分组中包含的语言。这提供了之前不存在的语言标签选择:索引

  • 每一个包含语言的子标签应该用做主要语言子标签。例如,普通话中的文档将被标记为“cmn”(普通话的子标签),而不是“zh”(中文)。
  • 若是须要或须要兼容性,则包含的子标签能够用做扩展语言子标签。例如,一份文件在普通话中能够标记为“zh-cmn”而不是“cmn”或“zh”。

也就是说,单一的 zh 和 zh-CN 均属于废弃用法。图片

问题主要在于,zh 如今不是语言code了,而是macrolang,能做为语言code的是cmn(国语)、yue(粤语)、wuu(吴语)等。开发

一般建议写成 zh-cmn 而不是光写 cmn,主要是考虑兼容性(至少可匹配 zh),有很多软件和框架尚未据此更新。

zh-CN 的问题还在于,其实多数状况下标记的是简体中文,可是不恰当的使用了地区,这致使一样用简体中文的 zh-SG(新加坡)等没法匹配。更典型的是 zh-TW 和 zh-HK。

因此其实应该使用 zh-Hans / zh-Hant 来表示简体和繁体。那么完整的写法就是 zh-cmn-Hans,表示简体中文书写的普通话/国语。通常而言没有必要加地区代码,除非要表示地区特异性,通常是词汇不同(好比维基百科的大陆简体和新马简体)。

相关文章
相关标签/搜索