diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php index aa479feaa..1d2c6489f 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php @@ -96,7 +96,7 @@ class Application extends \RainLoop\Config\AbstractConfig { // Workarounds for the changed application structure if ('webmail' === $sSectionKey) { - if ('language_admin' === $sSectionKey) { + if ('language_admin' === $sParamKey) { $sSectionKey = 'admin_panel'; $sParamKey = 'language'; } @@ -137,6 +137,16 @@ class Application extends \RainLoop\Config\AbstractConfig $sParamKey = 'json_response_write_limit'; } } + if ('language' === $sParamKey) { + $aLang = \SnappyMail\L10n::getLanguages('admin_panel' === $sSectionKey); + $sLanguage = \strtr($mParamValue, '_', '-'); + if (!\in_array($sLanguage, $aLang)) { + if (\str_contains($sLanguage, '-')) { + $sLanguage = \strtok($sLanguage, '-'); + } + } + $mParamValue = \in_array($sLanguage, $aLang) ? $sLanguage : 'en'; + } parent::Set($sSectionKey, $sParamKey, $mParamValue); }