本文整理匯總了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;
}