class LanguageManager
{
/**
- * Array of right-to-left language options
+ * Array of right-to-left language options.
*/
protected array $rtlLanguages = ['ar', 'fa', 'he'];
* 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}>
*/
* 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;
$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
+}