选择语言 :

 Core_I18n::accept_language

获取$accept_language

array Core_I18n::accept_language( )
返回值
  • array
File: ./core/classes/i18n.class.php
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;
}