侧边栏壁纸
博主头像
Wood Chen博主等级

独唱独酬,独行独坐还独卧

  • 累计撰写 233 篇文章
  • 累计创建 166 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

HTML中lang属性有哪些参数值?怎样写才符合规范?

wood
2023-09-03 / 0 评论 / 0 点赞 / 52 阅读 / 3057 字
中文推荐使用:lang="zh-cmn-Hans"

在语言标签"zh-cmn-Hans"中,"cmn"表示汉语(Mandarin Chinese)的代码,"Hans"表示简体中文(Simplified Chinese)的代码。

完整的单词是:

  • "cmn"的完整单词是"Chinese, Mandarin",表示汉语(普通话)。
  • "Hans"的完整单词是"Simplified Chinese",表示简体中文。

"Simplified Chinese"的简写"Hans"来自于汉字的英文译音。在ISO 639-3语言代码中,为了表示简体中文,选择了"Han"作为代号。而为了区分不同的汉字书写形式,如繁体中文和简体中文,使用了"Hans"和"Hant"作为后缀来表示简体和繁体。

"Hans"和"Hant"这两个后缀分别来自于汉字的英文译音:"Hans"代表汉字的英文译音"Hanzi"的前三个字母,而"Hant"代表译音"Hanzi"的后三个字母。这种选择是为了简洁明了地表示汉字书写形式的差异。


大部分老师在讲解lang这个属性的时候,往往都是轻描淡写,一笔带过,告诉你几个常用的值,如:lang="en"表示使用的是英语,lang="zh"表示使用的中文。

但是当我们接触的代码多了以后,我们会发现,lang属性没你想的那么简单。

如:lang属性有哪些参数值?lang属性要怎么用才符合规范?lang="zh",lang="zh-CN",lang="zh-cmn-Hans"有什么区别?

是不是一问三不知?所以今天我们就用这篇文章梳理一下,方便后续对这个知识点的回顾。

一,lang属性有什么作用?

在Html全局属性列表中,对lang属性的描述为(Defines the language used in the element - 定义元素中使用的语言),顾名思义,lang属性的作用就是用来定义元素中使用的语言。

二,lang属性的定义,lang属性要怎么用才符合规范?

根据MDN对lang的解释,它是由 IETF 的BCP 47规范来定义的。

我们前面发了一篇文章,详细介绍了BCP 47是什么?想要深入了解的,可以点击进行查看。

用一句话简单概括,BCP 47是一个为了更好地识别世界各地多种多样的语言而制定的一套标签和标签匹配的算法规范。

最新的规范定义了语言标签的语法描述规则如下:

language-extlang-script-region-variant-extension-privateuse

由子标签按顺序通过连字号(-)连接起来组成一个完整的语言标签,各子标签的格式遵循以下标准:

language:ISO639-1 (2002)的2字母语言代码。

extlang:ISO639-3 每个由3字母组成。

script:ISO15924 的4字母书写文字代码。

region:ISO3166-1_alpha-2 的2字母地区代码(通常大写),或UNM.49的3数字地理区代码。

variant:IANA语言子标签注册表。

三,lang属性有哪些参数值?

前面我们了解到,lang属性是由BCP 47规范定义的,而BCP 47是一个为了更好地识别世界各地多种多样的语言而制定的一套标签和标签匹配的算法规范。

因为世界各地语言的多样性,所以​lang属性的参数值非常之多​,但万变不离其中,只要参数值符合我们上面第二点提到的最新的语言标签的语法规则,就是一个标准的lang参数。

由于lang属性的参数值实在太多了,我们无法一一列举,这里就重点梳理一下和中文相关的子标签。

language

zh 中国字或中国话

extlang

cdo 闽东语

cjy 晋语

cmn 普通话或國語

cpx 莆仙语

czh 徽语

czo 闽中语

gan 赣语

hak 客家话

hsn 湘语

mnp 闽北语

nan 闽南语

wuu 吴语

yue 粤语

lzh 文言文

script

Hans 简体汉字

Hant 繁体汉字

region

CN CHINA 中国

HK HONG KONG 香港

TW Taiwan 台湾

SG Singapore 新加坡

四,lang="zh",lang="zh-CN",lang="zh-cmn-Hans"有什么区别?

综合上面第二点和第三点来看,lang="zh"和lang="zh-CN"这种写法均属于废弃的用法,lang="zh-cmn-Hans"才是正确的用法。


原文信息:

  • https://www.hubaye.com/front/post/219.html
  • 在我们刚刚开始学习Html语言的时候,最先接触到的一个全局属性,就是lang属性,我们可以用lang属性来定义元素中使用的语言。
  • 2023-09-03 11:09:03

0

评论区