網頁頭部的聲明怎麼寫?

筆者在今天修改網頁模板時發現了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,表示簡體中文書寫的普通話/國語。通常而言沒有必要加地區代碼,除非要表示地區特異性,通常是詞彙不同(好比維基百科的大陸簡體和新馬簡體)。

相關文章
相關標籤/搜索