diff --git a/application/core/LSYii_Application.php b/application/core/LSYii_Application.php index 5de2f788d70..b7d81781f4a 100644 --- a/application/core/LSYii_Application.php +++ b/application/core/LSYii_Application.php @@ -213,6 +213,13 @@ public function getConfig($name, $default = false) */ public function setLanguage( $sLanguage ) { + // This method is also called from AdminController and LSUser + // But if a param is defined, it should always have the priority + // eg: index.php/admin/authentication/sa/login/&lang=de + if ($this->request->getParam('lang') !== null){ + $sLanguage = $this->request->getParam('lang'); + } + $sLanguage=preg_replace('/[^a-z0-9-]/i', '', $sLanguage); $this->messages->catalog = $sLanguage; App()->session['_lang'] = $sLanguage; // See: http://www.yiiframework.com/wiki/26/setting-and-maintaining-the-language-in-application-i18n/