请选择 进入手机版 | 继续访问电脑版

淘码站

 找回密码
 立即注册
搜索

html中lang属性的作用

[复制链接]
阿宝 发表于 2020-9-23 22:20:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

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

根据 W3C 推荐标准,您应该通过 <html> 标签中的 lang 属性对每张页面中的主要语言进行声明,比如:
  1. <html lang="en">
  2. ...
  3. </html>
复制代码



在 XHTML 中,采用如下方式在 <html> 标签中对语言进行声明:
  1. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  2. ...
  3. </html>
复制代码


ISO 639-1 语言代码
ISO 639-1 为各种语言定义了缩略词。您可以在 HTML 和 XHTML 中的 lang 和 xml:lang 属性中使用它们。

Language
ISO Code
Abkhazianab
Afaraa
Afrikaansaf
Albaniansq
Amharicam
Arabicar
Armenianhy
Assameseas
Aymaraay
Azerbaijaniaz
Bashkirba
Basqueeu
Bengali (Bangla)bn
Bhutanidz
Biharibh
Bislamabi
Bretonbr
Bulgarianbg
Burmesemy
Byelorussian (Belarusian)be
Cambodiankm
Catalanca
Cherokee
Chewa
Chinese (Simplified)zh
Chinese (Traditional)zh
Corsicanco
Croatianhr
Czechcs
Danishda
Divehi
Dutchnl
Edo
Englishen
Esperantoeo
Estonianet
Faeroesefo
Farsifa
Fijifj
Finnishfi
Flemish
Frenchfr
Frisianfy
Fulfulde
Galiciangl
Gaelic (Scottish)gd
Gaelic (Manx)gv
Georgianka
Germande
Greekel
Greenlandickl
Guaranign
Gujaratigu
Hausaha
Hawaiian
Hebrewhe, iw
Hindihi
Hungarianhu
Ibibio
Icelandicis
Igbo
Indonesianid, in
Interlinguaia
Interlingueie
Inuktitutiu
Inupiakik
Irishga
Italianit
Japaneseja
Javanesejv
Kannadakn
Kanuri
Kashmiriks
Kazakhkk
Kinyarwanda (Ruanda)rw
Kirghizky
Kirundi (Rundi)rn
Konkani
Koreanko
Kurdishku
Laothianlo
Latinla
Latvian (Lettish)lv
Limburgish ( Limburger)li
Lingalaln
Lithuanianlt
Macedonianmk
Malagasymg
Malayms
Malayalamml
Maltesemt
Maorimi
Marathimr
Moldavianmo
Mongolianmn
Nauruna
Nepaline
Norwegianno
Occitanoc
Oriyaor
Oromo (Afan, Galla)om
Papiamentu
Pashto (Pushto)ps
Polishpl
Portuguesept
Punjabipa
Quechuaqu
Rhaeto-Romancerm
Romanianro
Russianru
Sami (Lappish)
Samoansm
Sangrosg
Sanskritsa
Serbiansr
Serbo-Croatiansh
Sesothost
Setswanatn
Shonasn
Sindhisd
Sinhalesesi
Siswatiss
Slovaksk
Sloveniansl
Somaliso
Spanishes
Sundanesesu
Swahili (Kiswahili)sw
Swedishsv
Syriac
Tagalogtl
Tajiktg
Tamazight
Tamilta
Tatartt
Telugute
Thaith
Tibetanbo
Tigrinyati
Tongato
Tsongats
Turkishtr
Turkmentk
Twitw
Uighurug
Ukrainianuk
Urduur
Uzbekuz
Venda
Vietnamesevi
Volapukvo
Welshcy
Wolofwo
Xhosaxh
Yi
Yiddishyi, ji
Yorubayo
Zuluzu


究竟html标签中的lang属性是干嘛的呢?为什么要指定它的值是”en”或者”zh-CN”呢?个人见解如下:

1.属性lang是英语language的缩写,意思是语言,”en”代表英语,”zh-CN”代表中文

2.在我自己的尝试下,发现,其实不写lang属性,整个HTML文档的显示是没有任何问题的

3.我们都知道,如果你在中国,本地浏览器的默认语言是中文,当我们打开一个外国网站时,浏览器会提示”是否将网页内容翻译成中文”,最新浏览器会直接弹出翻译界面,如下图
1.png


检查一下该网页的源代码,发现lang=”en”

4.登录几个中国的本土网站,发现源码中并没有写lang属性,也没有翻译的提示

5.搜索引擎首先自己无法判断自己抓取的页面中的内容是什么语言,因为在它看来都是二进制文件,那么这时就需要我们告诉它这个页面中的内容是什么语言,进而它才能知道下一步该干嘛,也就是说,当你把lang设置为”en”时,无论你网页中是什么语言的内容,在它看来都是英语,如果本地浏览器的默认语言不是英语,就会提示上面的选项,问您是否需要翻译。这个在浏览器的设置中可以清楚地看到:
这里写图片描述

总结:1.搜索引擎无法判断页面中的内容是什么语言,需要人们告诉它(这里也体现出语义化的特点,即机器本身什么都不懂,我们需要告诉它这是什么,并且当我们告诉它这是什么后,我们也必须按照这个规则去做,要不将lang设置为”en”,但是我们却在网页中使用中文语言内容,这很大程度上会对机器进行干扰,进而干扰到用户的正常体验,这样做就毫无意义。)
2.浏览器会将读取到的页面语言和本地语言进行比较判断,如果一致,不做处理,否则提示是否需要翻译(当然前提是用户勾选了这个功能,chrome默认勾选)
1.png


总结:
1、此属性可以不写,如果写的话请不要乱写,如果中文就写zh-CN如果英文就写en。
2、如果你的是中文网站想让国外访问时自动提示用户是否需要翻译的话请声明lang为zh-CN,如果你的是英文网站,请声明lang为en,这样国内访问就会提示是否需要翻译。为客户考虑多人性化的网站啊

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|淘码站 ( 冀ICP备10006923号-17 )

GMT+8, 2020-10-30 15:33

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表