首頁  >  文章  >  web前端  >  html的lang屬性學習筆記

html的lang屬性學習筆記

大家讲道理
大家讲道理原創
2017-04-11 10:35:484022瀏覽

以下是html中的lang屬性學習筆記,歡迎交流學習!

lang屬性的值應該遵循 BCP 47 - Tags for Identifying Languages。

單一的 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,表示簡體中文所寫的國語/國語。一般而言沒有必要加地區代碼,除非要表示地區特異性,一般是詞彙不一樣(例如維基百科的大陸簡體和新馬簡體)。

如何標記的範例:

1. 簡體中文頁面:html lang=zh-cmn-Hans

2. 繁體中文頁面:html lang=zh-cmn- Hant

3. 英語頁面:html lang=en

4. 《回來》的音頻,以國語演唱:audio lang=zh-cmn

5. 《海闊天空》的音頻,以粵語演唱:audio lang=yue

6. 《進來白相相》的音頻,以滬語演唱:audio lang=wuu

#注意上述因為都是音頻,所以不應加上Hans/Hant 標記。

7. 《最終信仰》的音頻,雙語演唱,因此audio不需要標記lang(如果一定需要標記可以用lang=mul),但是每個段落的歌詞可以分別用p lang=en 和p lang=zh-cmn 標記(依簡體或繁體可用zh-cmn-Hans 或zh-cmn-Hant)。

8. 《忐忑》的音頻,沒有歌詞,因此不需要標記lang(如果一定需要標記可用 audio lang=zxx)。

需要加地區代碼的情況一般比較少,除非為了強調不同地區漢語使用差異。例如:

  • <p lang="zh-cmn-Hans"><b lang="zh-cmn-Hans-CN">菠萝</b>和<b lang="zh-cmn-Hant-TW">鳳梨</b>其实是同一种水果。只是大陆和台湾称谓不同,且新马一带的称谓也是不同的,称之为<b lang="zh-cmn-Hans-SG">黄梨</b>。</p>

當然,由於歷史原因,有時候必須繼續使用zh-CN。例如中文維基百科,沿用了傳統的zh-CN/zh-HK/zh-SG/zh-TW(依照標準應該使用zh-cmn-Hans-CN、zh-cmn-Hant-HK、zh-cmn-Hans -SG、zh-cmn-Hant-TW)。這時候,合理的軟體行為,是將 zh-CN 等轉換為 zh-cmn-Hans(即轉換為最常見的誤用所對應的實際標準寫法)。

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

更新:Selectors Level 4 已經加入了對BCP 47高階匹配演算法的支持,即支持 :lang(*-Hans) 的寫法。

以上是html的lang屬性學習筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn