X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/07b889547d28e68e5fc8f923c166bd607da17ad7..refs/pull/1695/head:/app/Http/Middleware/Localization.php diff --git a/app/Http/Middleware/Localization.php b/app/Http/Middleware/Localization.php index ff5526cc7..b5e702781 100644 --- a/app/Http/Middleware/Localization.php +++ b/app/Http/Middleware/Localization.php @@ -31,12 +31,10 @@ class Localization 'nl' => 'nl_NL', 'pl' => 'pl_PL', 'pt_BR' => 'pt_BR', - 'pt_BR' => 'pt_BR', 'ru' => 'ru', 'sk' => 'sk_SK', 'sv' => 'sv_SE', 'uk' => 'uk_UA', - 'uk' => 'uk_UA', 'zh_CN' => 'zh_CN', 'zh_TW' => 'zh_TW', ]; @@ -59,6 +57,8 @@ class Localization $locale = setting()->getUser(user(), 'language', $defaultLang); } + config()->set('app.lang', str_replace('_', '-', $this->getLocaleIso($locale))); + // Set text direction if (in_array($locale, $this->rtlLocales)) { config()->set('app.rtl', true); @@ -88,6 +88,16 @@ class Localization return $default; } + /** + * Get the ISO version of a BookStack language name + * @param string $locale + * @return string + */ + public function getLocaleIso(string $locale) + { + return $this->localeMap[$locale] ?? $locale; + } + /** * Set the system date locale for localized date formatting. * Will try both the standard locale name and the UTF8 variant. @@ -95,7 +105,7 @@ class Localization */ protected function setSystemDateLocale(string $locale) { - $systemLocale = $this->localeMap[$locale] ?? $locale; + $systemLocale = $this->getLocaleIso($locale); $set = setlocale(LC_TIME, $systemLocale); if ($set === false) { setlocale(LC_TIME, $systemLocale . '.utf8');