一、資源
先提供資源,如果我弄錯了什么,請以這些檔案為準:
W3C檔案、IANA已登記的子標簽、BCP 47、RFC 5646,
二、格式簡介
先上一張圖片:

一個Language Tags,由①到⑦一共四個子標簽組成,有什么盤算不清楚的,請參考資源部分提供的檔案,
三、各部分含義
①language:主語言,用代碼“zh”表示漢語,小寫,好像對于大小寫沒有強制要求,習慣而已,還是遵循習慣吧,總讓別人看著別扭不是彰顯個性的好辦法,
②extlang:翻譯成“擴展的語言”?對于漢語而言,這個部分表示的是普通話和方言,比如“cmn”表示普通話,“yue”表示粵語,“lzh”我也不知道表示什么,小寫,
③script:書寫格式,漢語不存在西方語言的拼寫變化,只有“簡體”和“繁體”之分,“Hans”表示簡體,“Hant”表示繁體,首字母大寫,
④region:地區,跟漢語有關的地區大概就是中國大陸(CN)、中國臺灣(TW)、中國香港(HK)、中國澳門(MO)、新加坡(SG)這五處,
⑤⑥⑦:你猜……
四、方言的困擾
我數了一下,除了“cmn”表示普通話之外,IANA還批準了至少13個方言子標簽,羅列如下:
cdo、cjy、cpx、czh、czo、gan、hak、hsn、lzh、mnp、nan、wuu、yue
引起困惑的是,這些標簽,既可以作為extlang子標簽表示方言(擴展的語言?)也可以放在language位置作為主語言,那么這些標簽和傳統的“zh”標簽是什么關系呢?IANA把“zh”定義為“macrolanguage”,搞不清楚怎么翻譯,微語言?宏語言?還是語系?BCP 47的觀點認為漢語包含若干語言,它似乎認為漢語的方言可以視為獨立的語言,所以,“zh”依然可以作為主語言,然后在extlang的位置標示方言,即<html lang="zh-cdo-Hans”>這樣的格式,同時它也支持直接把方言作為主語言使用,即<html lang="cdo-Hans”>這樣的格式,
弄清方言帶來的困惑之后,我個人的建議是使用“zh”作為主語言,我不想進行政治討論也不想研究深奧的學術問題,建議只使用“zh”做主語言子標簽的唯一理由是避免混亂,現在為數不多(就算不多吧)的方言標簽還是一種很幸福的狀態,別忘了江湖上有著反擊戰中用方言當密語的傳說,而哈爾濱西安成都恐怕又是不同的方言,誰知道IANA的大佬們未來會批準出多少個中國的語言來,都背下來?或者維護代碼的時候,先查一下這是中國方言還是某個犄角旮旯的外語?
“zh”表示中文;“zh-xxx"還是表示中文,不過需要考慮方言特性,這樣的表達不會帶來任何誤解,
五、越短越好
W3C的建議是:“The golden rule when creating language tags is to keep the tag as short as possible”,標簽的某些部分確實沒有必要,比如如果不涉及語音合成等應用,extlang部分存在的意義微乎其微,不管你是什么方言口音,寫出來的是一樣的文字,而region部分對于漢語而言似乎實意義也不大,有人知道新加坡人說普通話和大陸人有什么區別嗎,我不太清楚,
所以,W3C的示例就成了最好的用法——“zh-Hans”——中文,簡體,足矣,或者我個人覺得只用“zh”也可以,混用簡繁可以有啊,
六、兼容
傳統上,一般使用“zh-CN”,新的標準是不是被所有的瀏覽器支持,這個我真的沒有精力去試一試,或者目前使用“zh-Hans-CN”更保險一些?
七、免責
不能保證內容的正確性,更可靠的手段是閱讀標準檔案,
寫這篇小文,是因為剛剛幫朋友講了一下相關的內容,就順手寫下來了,還能幫到別的網友的話,那是我的榮幸,
雖然提供了四個資源鏈接,其實這一次我并沒有再次閱讀,全是靠記憶寫的,如果有什么錯誤的地方,還請諒解,也請您向我指出,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/111854.html
標籤:Html/Css
上一篇:CSS背景
下一篇:echart 人頭
