【发布时间】:2010-12-18 07:24:24
【问题描述】:
我正在尝试实现此代码,以便为选择的德语、西班牙语或英语浏览器语言加载不同的文件。 情况是,我的西班牙语 IE 仍然可以得到英文文件。
<?php
if (is_home()) {
if (preg_match('/de-DE/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
include(TEMPLATEPATH . '/german-navbar.php' );
}
elseif (preg_match('/es-ES/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
include(TEMPLATEPATH . '/spanish-navbar.php' );
}
else {
include(TEMPLATEPATH . '/english-navbar.php' );
}
}
我同时使用了HTTP_ACCEPT_LANGUAGE 和HTTP_USER_AGENT。
这是对网站的测试,如果有人想检查它,在浏览器中选择德语或西班牙语:http://paragraphe.org/janette/
我有英文版的 Firefox,运行良好,但我不能确定代码是否适用于西班牙文和德文案例。
我找到了 sn-p in this SO thread,但此时我有点迷路了。
非常感谢您的任何意见,
编辑:代码在 Firefox(但不是 IE)中运行。
【问题讨论】:
-
什么死了($_SERVER['HTTP_ACCEPT_LANGUAGE']);给你?
-
页面只是像往常一样加载 - 但使用英文默认值,好像其他条件没有意义
标签: php http templates language-features