2011-05-16 147 views
1

我目前正在建立一個多語言的網站,以支持不同的語言,英語和西班牙語爲初學者和法國在未來。多語言網站的HTML設置

我有內容等本地化,但現在我想確保所有meta標籤和http標頭,身體標籤lang屬性,xml:lang等是正確的當時選擇的文化。

在互聯網上是否有任何概述需要爲多語言html網站配置?任何人都有任何建議/提示。

+0

您是否檢查過關於此問題的其他問題,因爲這是一個經常問及回答的問題? – PurplePilot 2011-05-17 07:57:58

回答

3

據我所知,沒有這樣的「必須擁有」。所有這些都是可選的(可能除了字符編碼)。你可能需要什麼:

字符編碼聲明

這是肯定的,你需要的內容類型和字符編碼聲明:

<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

For obvious reasons UTF-8的建議。

語言聲明

語言可以用lang屬性,這是大多數HTML元素的定義聲明。因此,你可以將它記錄全,全身性或任何你請:

<html lang="de"> 
    <body lang="es"> 
    <p lang="pl">Jakiś tekst</p> 
    </body> 
</html> 

當然,這將是很好,如果這些標記(例如不同於以上)有意義,所以它是常見設置郎標籤爲身體和段落(如果它發生給定的段落在身體不同的語言)。
lang屬性的內容是兩個字母ISO 639 language code(準確地說是ISO 639-1)。這同樣適用於xml:lang(可以在XHTML網站中聲明)。

方向性

如果碰巧你將面臨本地化的網站爲希伯來語,阿拉伯語或其他從右到左語言的挑戰,你也將需要申請dir屬性。就像lang的情況一樣,這個屬性是可選的,可以放在任何地方。如果省略,則假定爲dir="LTR"。例如:

<body lang="ar" dir="RTL"> 

這就是我害怕的事。對網站的多語言支持仍然是一個灰色地帶,支持並不是最好的說法。例如,您需要關心提供日期,數字,貨幣和類似工件的有效格式。
此外,你需要記住不要使用像CSS一樣的寶石text-transform:uppercase |小寫,JavaScript的大寫和小寫相關函數,以及JavaScript的toLocalizedString()函數。這些寶石非常不可靠,無法正常工作。