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(); }
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; }