예제 #1
0
function get_user_locale()
{
    if (isset($_COOKIE[LOCALE_COOKIE_NAME])) {
        $requested_lang = $_COOKIE[LOCALE_COOKIE_NAME];
        if (locale_pattern_check($requested_lang) && locale_is_available($requested_lang)) {
            return $requested_lang;
        }
    }
    if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
        $requested_langs = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
        foreach ($requested_langs as $requested_lang) {
            if (strlen($requested_lang) > 2) {
                $requested_lang = substr($requested_lang, 0, 2);
            }
            if (locale_pattern_check($requested_lang) && locale_is_available($requested_lang)) {
                return $requested_lang;
            }
        }
    }
    return get_default_locale();
}
예제 #2
0
 function get_user_locale()
 {
     $locale = $defaultLocale = 'en';
     if (isset($_SESSION['install_locale'])) {
         $locale = $_SESSION['install_locale'];
     } elseif (get_auth_locale()) {
         $locale = get_auth_locale();
     } elseif (get_default_locale()) {
         $locale = get_default_locale();
     }
     if (!is_locale_available($locale)) {
         $locale = $defaultLocale;
     }
     return $locale;
 }