網(wǎng)頁頭部的聲明應(yīng)該是用 lang="zh" 還是 lang="zh-cn"?
時間:2022-07-29 19:15:01 | 來源:網(wǎng)站運營
時間:2022-07-29 19:15:01 來源:網(wǎng)站運營
把我在另一個回答里的評論整理一下搬運過來:
lang屬性的取值應(yīng)該遵循
BCP 47 - Tags for Identifying Languages。
單一的 zh 和 zh-CN 均屬于廢棄用法。
問題主要在于,zh 現(xiàn)在不是語言code了,而是macrolang,能作為語言code的是cmn(國語)、yue(粵語)、wuu(吳語)等。我通常建議寫成 zh-cmn 而不是光寫 cmn,主要是考慮兼容性(至少可匹配 zh),有不少軟件和框架還沒有據(jù)此更新。
zh-CN 的問題還在于,其實多數(shù)情況下標記的是簡體中文,但是不恰當?shù)氖褂昧说貐^(qū),這導(dǎo)致同樣用簡體中文的 zh-SG(新加坡)等無法匹配。更典型的是 zh-TW 和 zh-HK。所以其實應(yīng)該使用 zh-Hans / zh-Hant 來表示簡體和繁體。那么完整的寫法就是 zh-cmn-Hans,表示簡體中文書寫的普通話/國語。一般而言沒有必要加地區(qū)代碼,除非要表示地區(qū)特異性,一般是詞匯不一樣(比如維基百科的大陸簡體和新馬簡體)。
所以回答題主,兩種都不對。
如何標記的例子:
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
注意上述因為都是音頻,所以不應(yīng)加上 Hans/Hant 標記。
7. 《
最終信仰》的音頻,雙語演唱,因此audio不需要標記lang(如果一定需要標記可以用 lang=mul),但是每個段落的歌詞可以分別用 p lang=en 和 p lang=zh-cmn 標記(根據(jù)簡體或是繁體可用 zh-cmn-Hans 或 zh-cmn-Hant)。
8. 《忐忑》的音頻,沒有歌詞,因此不需要標記lang(如果一定需要標記可用 audio lang=zxx)。
需要加地區(qū)代碼的情況一般比較少,除非為了強調(diào)
不同地區(qū)漢語使用差異。比如:
<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>
【參考
菠蘿和鳳梨有區(qū)別嗎?】
當然,由于歷史原因,有時候不得不繼續(xù)使用zh-CN。比如中文維基百科,沿用了傳統(tǒng)的zh-CN/zh-HK/zh-SG/zh-TW(按照標準應(yīng)該使用 zh-cmn-Hans-CN、zh-cmn-Hant-HK、zh-cmn-Hans-SG、zh-cmn-Hant-TW)。這時候,合理的軟件行為,是將 zh-CN 等轉(zhuǎn)化為 zh-cmn-Hans(即轉(zhuǎn)化為最常見的誤用所對應(yīng)的實際標準寫法)。
實際上,各相關(guān)標準,也存在一定的滯后。例如CSS的:lang選擇器,不支持選擇僅僅簡體/繁體中文(而不管是cmn或是yue或是min等漢語方言)。理想情況是CSS3對:lang選擇器的語法進行升級,即BCP 47中的高級匹配算法,支持 :lang(*-Hans)這樣的寫法。
更新:
Selectors Level 4 已經(jīng)加入了對BCP 47高級匹配算法的支持,即支持 :lang(*-Hans) 的寫法。(感謝
@一絲 君。)