diff options
Diffstat (limited to 'app/FreshRSS.php')
| -rw-r--r-- | app/FreshRSS.php | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/app/FreshRSS.php b/app/FreshRSS.php index 32c3c39d0..ee454d7fd 100644 --- a/app/FreshRSS.php +++ b/app/FreshRSS.php @@ -68,7 +68,7 @@ class FreshRSS extends Minz_FrontController { // Basic protection against XSRF attacks FreshRSS_Auth::removeAccess(); $http_referer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; - Minz_Translate::init('en'); //TODO: Better choice of fallback language + self::initI18n(); Minz_Error::error(403, array('error' => array( _t('feedback.access.denied'), ' [HTTP_REFERER=' . htmlspecialchars($http_referer, ENT_NOQUOTES, 'UTF-8') . ']' @@ -80,7 +80,7 @@ class FreshRSS extends Minz_FrontController { !FreshRSS_Auth::hasAccess('admin')) )) { // Token-based protection against XSRF attacks, except for the login or self-create user forms - Minz_Translate::init('en'); //TODO: Better choice of fallback language + self::initI18n(); Minz_Error::error(403, array('error' => array( _t('feedback.access.denied'), ' [CSRF]' @@ -90,8 +90,11 @@ class FreshRSS extends Minz_FrontController { } private static function initI18n() { - Minz_Session::_param('language', FreshRSS_Context::$user_conf->language); - Minz_Translate::init(FreshRSS_Context::$user_conf->language); + $selected_language = FreshRSS_Auth::hasAccess() ? FreshRSS_Context::$user_conf->language : null; + $language = Minz_Translate::getLanguage($selected_language, Minz_Request::getPreferredLanguages(), FreshRSS_Context::$system_conf->language); + + Minz_Session::_param('language', $language); + Minz_Translate::init($language); } public static function loadStylesAndScripts() { |
