html lang=zh-CN 中文標準寫法與HTML標準定義

<html lang="zh-"> 中文標準寫法與HTML標準定義


HTML5標準定義:

lang作爲HTML標籤的全局屬性,可以幫助定義元素的語言。該屬性包含一個“語言標籤”,格式爲“識別語言的標籤(BCP47) ”中定義的格式。

<html lang="en"> 向搜索引擎表示該頁面是html語言,並且語言爲英文網站,其"lang"的意思就是“language”,語言的意思,而“en”即表示english 你的頁面如果是中文頁面,可將其改爲 <html lang="zh"> zh即表示中文.【zh爲宏表達方式,沒有準確性。應該按BCP47標準表達方式】
 

其一:主要是給搜索引擎看的,搜索引擎不會去判斷該站點是中文站還是英文站,所以這句話就是讓搜索引擎知道,你的站點是中文站,對html頁面本身不會有影響。

其二:主要是發送給服務器的頁頭等信息保函語言元素。如果不匹配會將導致服務器解析異常。


BCP47規定了主語言與子語言表達方式:

宏語言 「zh」中文包含多種語言。出於兼容性的原因,這些語言每一個在「註冊表」中都有一個主要語言子標籤和一個方言子標籤。其中幾個例子包含贛語「gan」、粵語「yue」和普通話「cmn」,這些都包含於宏語言 「zh」中文之中,所以它們在「註冊表」中都有前綴『zh』。因此贛語的標籤以『zh-gan』或『gan』開頭、粵語的以『zh-yue』或『yue』開頭、普通話的以『zh-cmn』或『cmn』開頭。即便不使用方言子標籤,「zh」仍然可以用來標記一些未指定種類的中文。

優先選擇主要語言標籤「gan」「yue」「cmn」替代方言形式的「zh-gan」「zh-yue」「zh-cmn」。

本段摘抄於【https://zhuanlan.zhihu.com/p/29305702】 譯者注:此段從兼容性和語言學角度均存在爭議。但是在2009年已經廢棄cmn表示。


<html lang="zh-"> 中文標準寫法:


     1、簡體中文國語頁面:html lang=zh-cmn-Hans  2005年加入標準,2009年廢棄。新標準爲:cmn-Hans
     2、繁體中文國語頁面:html lang=zh-cmn-Hant   2005年加入標準,2009年廢棄。新標準爲:cmn-Hant
     。。。。。。

當然,由於歷史原因,有時候不得不繼續使用zh-CN。比如中文維基百科,沿用了傳統的zh-CN/zh-HK/zh-SG/zh-TW(按照標準應該使用 zh-Hans-CN、zh-Hant-HK、zh-Hans-SG、zh-Hant-TW)。這時候,合理的軟件行爲,是將 zh-CN 等轉化爲 zh-Hans(即轉化爲最常見的誤用所對應的實際標準寫法)。一些後端服務器依舊使用zh-CN,比如Apache服務器。

實際上,各相關標準,也存在一定的滯後。例如CSS的:lang選擇器,不支持選擇僅僅簡體/繁體中文(而不管是cmn或是yue或是min等漢語方言)。理想情況是CSS3對:lang選擇器的語法進行升級,即BCP 47中的高級匹配算法,支持 :lang(*-Hans)這樣的寫法。

CSDN的寫法依舊是:<html lang="zh-CN">

百度、新浪、網易等均爲加入此標籤。

標準最新版本:

       zh-Hans-CN 去表示:中國大陸的簡體中文=中華人民共和國的簡體中文==Mandarin Chinese (Simplified)==PRC Mainland Chinese in simplified。當然:如果考慮到其他的兼容性,其實也還是可以暫時繼續使用:zh-CN的寫法的。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章