在 HTML5 的 <html> 中可增加 lang= 來標註網頁的語系,讓瀏覽器能更正確的解析與編碼,但從 XHTML 1.0 以來 lang=??? 就不斷演進中,而在 HTML5 的時代究竟要怎麼定義?
目前最主要的規範是依照 IETF(Internet Engineering Task Force 國際網路工程研究團隊)的 RFC 4646 的 Tags for Identifying Languages 所定義。它的要求為 language-script-region-variant-extension-privateuse 就是 語言 – 字體 – 地區 – 方言 – 特殊附加資訊。
以台灣繁體中文標示即為 zh-Hant-TW 不是以往認知的zh-tw囉
使用範例:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<title>page title</title>
</head>
<body>
</body>
</html>
速查表 zh-Hans
繁體中文:
zh-Hant | 繁體中文 |
zh-Hant-TW | 臺灣使用的繁體中文 |
zh-Hant-CN | 大陸地區使用的繁體中文 |
zh-Hant-HK | 香港地區使用的繁體中文 |
zh-Hant-MO | 澳門使用的繁體中文 |
zh-Hant-SG | 新加坡使用的繁體中文 |
簡體中文 zh-Hans:
zh-Hans | 簡體中文 |
zh-Hans-CN | 大陸地區使用的簡體中文 |
zh-Hans-HK | 香港地區使用的簡體中文 |
zh-Hans-MO | 澳門使用的簡體中文 |
zh-Hans-SG | 新加坡使用的簡體中文 |
zh-Hans-TW | 臺灣使用的簡體中文 |
速查表有問題
hant hans傻傻分不清楚==
Hi Hshdh
感謝指正:)
根據 BCP47,language tag 的 ABNF:
langtag = language
[“-” script]
[“-” region]
*(“-” variant)
*(“-” extension)
[“-” privateuse]
所以 zh, zh-TW, zh-Hant, zh-Hant-TW 都是合法的,但 zh-TW-Hant 是不合法的。
ref
– https://tools.ietf.org/html/bcp47#section-2.1
– https://www.w3.org/TR/html51/dom.html#the-lang-and-xmllang-attributes
雖然文件上都指名是 zh-Hant-TW
但實際上直到 2023 年,Google 的翻譯軟體仍然只會將 zh-TW 當作是台灣,不會跳是否要翻譯,而 zh-Hant-TW 反而會跳
(今年我不確定,反正 Google 翻譯正常我也就不再試了,我已經嘗試改了幾年都反而出事要改回來,已經懶得再理他)
在這個由 Google 統治的網路世界中,遵循 Google 的規則還是比 HTML 的規則重要
Hi Danny
謝謝你的提點,我也是覺得 zh-TW 好像比較好用
的卻是這樣,搜尋引擎目前還是 Google 主宰