本文整理汇总了PHP中I18n::accept_language方法的典型用法代码示例。如果您正苦于以下问题:PHP I18n::accept_language方法的具体用法?PHP I18n::accept_language怎么用?PHP I18n::accept_language使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类I18n
的用法示例。
在下文中一共展示了I18n::accept_language方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_lang_cache_key
protected static function get_lang_cache_key()
{
# 当前语言key
$libs_key = array();
foreach (Core::$include_path as $libs) {
foreach ($libs as $path) {
$libs_key[] = $path;
}
}
$libs_key = md5(implode(',', $libs_key));
$key = 'lang_cache_by_' . $libs_key . '_for_' . implode('_', I18n::accept_language());
return $key;
}
示例2: accept_language
/**
* 获取$accept_language
*
* @return 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('lang');
# 匹配语言设置
# zh-CN,zh;q=0.8,zh-TW;q=0.6
if ($accept_language && preg_match_all('#([a-z]+\\-[a-z]+),|([a-z]+\\-[a-z]+);#i', $accept_language, $matches)) {
$accept_language = $matches[0];
$accept_language = array_values(array_slice($accept_language, 0, 2));
//只取前2个语言设置
$accept_language[0] = strtolower(rtrim($accept_language[0], ';,'));
if (isset($accept_language[1])) {
$accept_language[1] = strtolower(rtrim($accept_language[1], ';,'));
}
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;
}