获取$accept_language
array Core_I18n::accept_language( )
array
protected static function accept_language()
{
if (null!==I18n::$accept_language)
{
return I18n::$accept_language;
}
# 客户端语言包
$accept_language = isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])?$_SERVER['HTTP_ACCEPT_LANGUAGE']:null;
$lang_config = Core::config('core.lang');
# 匹配语言设置
if ($accept_language && preg_match_all('#,([a-z]+-[a-z]+);#i', $accept_language, $matches))
{
$accept_language = $matches[1];
$accept_language = array_slice($accept_language, 0, 2); //只取前2个语言设置
array_map('strtolower', $accept_language);
if ($lang_config && !in_array($lang_config, $accept_language))
{
$accept_language[] = $lang_config;
}
}
else
{
if ($lang_config)
{
$accept_language = array($lang_config);
}
else
{
$accept_language = array('zh-cn');
}
}
I18n::$accept_language = $accept_language;
return $accept_language;
}