當我開始XHTML 1.1的時候,我一直不知道應該在xml:lang
上寫什么好,我想使用中文,它的值是zh
、zh-cn
/zh-CN
還是gb2312
/gbk
/gb18030
或者utf8
?通常遇到問題我都優先Google中文,無奈也是找不到答案??吹揭恍嗤木W站上使用gb2312
,我還差點相信了,但根據我使用Linux中設置語言的經驗,我直覺告訴我這是錯誤的。于是開始把范圍縮小到W3C中去Google,找到了Tutorial: Using language information in XHTML, HTML and CSS (DRAFT),細閱,終于走出誤區,愿將經驗與大家分享。
依舊是翻譯,但這篇文章太長了,而且還有許多我們用不著的信息,這次我只選擇了部分,希望能把問題說清楚就好。
關于文檔語言的信息對于屏幕閱讀器和易用性都極為重要,從一開始就有利。這些程序需要了解它們是否能從文本中生成輸出,或者是否需要轉到不同的語言模式。
標記語言信息也對應用恰當的樣式變更有好處。比如,需要改變字體來調節不同字符,依據語言來生成不用的引號等等。
有的瀏覽器使用語言信息為中文簡體,中文繁體,日文和韓文來偵測適合的字體。但是,在一個使用Unicode編碼的頁面中,這些語言可能共享相同的表意字符內碼。操這些語言的人可能在使用這些字符上的一些小細節上有所不同。下面的插圖演示了僅僅改變語言標簽,在Mozilla上的文本的效果:
標記語言信息也允許你使用腳本提取指定語言的元素。舉個例子,使用XSLT lang()
函數可以從一個文件中提取指定語言的文本,或者在XSL-FO轉換的時候應用語言指定樣式。
在許多的案例中,第一次開發內容時,你可能不會意識到這些應用的重要性,雖然它們在創建的時候一般非常容易添加,這就會在需要樣式翻新時遇上麻煩。
另外,一些為語言標簽標記的程序還在早期開發或者缺乏中,但是,從現在起你就應該為你的內容增加語言信息,以便在技術成熟的時候收獲未來的好處。
<html>
標簽中聲明語言HTML文檔總體上應該聲明文檔的語言,可以通過在html
標簽中增加lang
屬性來實現。比如,下面聲明了一個使用加拿大法語(Canadian French)的文檔:
<html lang="fr-CA">
稍后我們會更具體地講述如何為語言屬性指定值。
當把XHTML伺服為text/html
,你應該在html元素中都使用lang
屬性和xml:lang
屬性。xml:lang
屬性是在XML中確定語言信息的標準用法。以下演示你應該如何標記先前以text/html
伺服的XHTML 1.0的例子:
<html lang="zh-CN" xml:lang="zh-CN" xmlns="http://www.w3.org/1999/xhtml">
xml:lang
屬性在處理HTML文件時并沒有實際用處,但從lang
屬性繼承過來意味著你要使腳本或校驗器把該文檔當作XML。
如果你以XML(比如,使用像applications/xhtml+xml
的MIME類型)或者XHTML 1.1來伺服XHTML的話,你不再需要lang
屬性,因為它已經跟HTML語言分離了。單獨的xml:lang
屬性就已足夠。
<html xml:lang="zh-CN" xmlns="http://www.w3.org/1999/xhtml">
在與內容主要語言不同的文本中,應該指出該文本的語言。方法跟與
總體上始終為文檔在<html>
標簽中聲明語言這一節相同——使用lang
或者xml:lang
屬性。例如,在HTML中你可以寫作:
<p>The French for <em>Cat</em> is <em lang="fr">chat
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月