2011-05-16 61 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()函数。这些宝石非常不可靠,无法正常工作。