|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > 大前端开发 > HTML中lang属性有哪些参数值?怎样写才符合规范?
HTML中lang属性有哪些参数值?怎样写才符合规范?

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

日期:2022-01-24 浏览量:469 原创作者:湖八爷
在我们刚刚开始学习Html语言的时候,最先接触到的一个全局属性,就是lang属性,我们可以用lang属性来定义元素中使用的语言。

大部分老师在讲解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"才是正确的用法。