]> BookStack Code Mirror - bookstack/blobdiff - app/Util/LanguageManager.php
Added "page_include_parse" theme event
[bookstack] / app / Util / LanguageManager.php
index ff860c83da176c7c2b0fd59d2173810774be8cff..33ec0e3a96d4adb1186d4ead08780ef4aafb2e4d 100644 (file)
@@ -7,7 +7,7 @@ use Illuminate\Http\Request;
 class LanguageManager
 {
     /**
-     * Array of right-to-left language options
+     * Array of right-to-left language options.
      */
     protected array $rtlLanguages = ['ar', 'fa', 'he'];
 
@@ -15,7 +15,7 @@ class LanguageManager
      * Map of BookStack language names to best-estimate ISO and windows locale names.
      * Locales can often be found by running `locale -a` on a linux system.
      * Windows locales can be found at:
-     * https://docs.microsoft.com/en-us/cpp/c-runtime-library/language-strings?view=msvc-170
+     * https://docs.microsoft.com/en-us/cpp/c-runtime-library/language-strings?view=msvc-170.
      *
      * @var array<string, array{iso: string, windows: string}>
      */
@@ -113,7 +113,7 @@ class LanguageManager
      * Set the system date locale for localized date formatting.
      * Will try both the standard locale name and the UTF8 variant.
      */
-    public function setPhpDateTimeLocale(string $language)
+    public function setPhpDateTimeLocale(string $language): void
     {
         $isoLang = $this->localeMap[$language]['iso'] ?? false;
 
@@ -121,10 +121,12 @@ class LanguageManager
             $isoLang ? $isoLang . '.utf8' : false,
             $isoLang ?: false,
             $isoLang ? str_replace('_', '-', $isoLang) : false,
-                $this->localeMap[$language]['windows'] ?? false,
+            $this->localeMap[$language]['windows'] ?? false,
             $language,
         ]);
 
-        setlocale(LC_TIME, ...$locales);
+        if (!empty($locales)) {
+            setlocale(LC_TIME, ...$locales);
+        }
     }
-}
\ No newline at end of file
+}