除了设置页面语言的明显方式之外:
<meta name="language" content="de"><html lang="de">
我最近发现了一个典型的奇怪方面,只有PHP的编程语言才能使开发人员将语言设置在PHP文件的最顶端:
<?php
/* Set and pre-define the language in the header;
* Eliminating guesswork for the Header language.
*/
header('Content-language: de');
?>
PHP程序员经常出现两个问题:
主要问题:什么时候应该在PHP标头中设置语言?
SideQ1:大网站不打扰使用它:为什么不呢?
SideQ2:搜索引擎会听这个吗?如果有,这个PHP标题有什么含义?
答案 0 :(得分:5)
您可以将此标题用于提供信息。但它主要用于content negotiation。
每个http URL都可以透明地引用不同的资源。根据客户端Accept:和Accept-Language:标头,服务器可以发送资源的特定变体。这就是建议包含这些描述性标题的时候。
如果以这种方式使用它,它将伴随Vary: *
或Vary: Accept-Language
标题。否则它真的只是信息性的。 (它从未被广泛使用过。)
答案 1 :(得分:5)
更短的回答:不要打扰,因为浏览器通常会忽略它。
更长的答案:W3C建议在HTTP中的lang
标题中使用HTML中的Content-Language
属性:
http://www.w3.org/International/geo/html-tech/tech-lang.html#ri20040808.110827800
理由:用户代理倾向于忽略标头或不一致地实现它。
另外,lang
属性更灵活。如果您有一种语言和另一种语言的某些内容,您可以精确地指定,如下:
<body>
<div lang="en" xml:lang="en">
<h1>Welcome!</h1>
<p>Lots of text in English...</p>
</div>
<div lang="fr" xml:lang="fr">
<h1>Bienvenue !</h1>
<p>Beaucoup de texte en français...</p>
</div>
</body>
取自:http://www.w3.org/International/geo/html-tech/tech-lang.html#ri20040728.121403792
我不了解搜索引擎。