如何检测浏览器语言

时间:2014-04-23 09:13:41

标签: php arrays if-statement browser internationalization

我想检测浏览器语言,然后检查我的系统是否支持某种语言,并以该语言显示该页面。

<?php

$supportedLangs = array('en-GB', 'fr', 'de');

$languages = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);

foreach($languages as $lang)
{
    if(in_array($lang, $supportedLangs))
    {
        // Set the page locale to the first supported language found
        $page->setLocale($lang);
        break;
    }
}
?>

通过这种方式,我能够从HTTP_ACCEPT_LANGUAGE函数中检测语言。

但是,如果我想检查是否只需要检查一种语言,例如西班牙语,该怎么办?

我需要检查浏览器是否检测到西班牙语&#39; sp&#39;所以$ supportedLangs不再是一个数组,而只是一个包含常量&#39; sp&#39;的变量,如果验证了这个条件,我想设置一个像$set=hola其他$set=hello

我该怎么做?

非常感谢!!

1 个答案:

答案 0 :(得分:0)

语言存储在以下变量

     $language = $_SERVER['HTTP_ACCEPT_LANGUAGE']

您可以通过添加从0到2的substr来获取语言。 你将拥有例如=“fr”,“en”等......