/** * Set current language and locale * * @param string $inputLang Value of HTML tag "lang" (en|ru|en-US|ru-RU|...) * @return string Locale code on success */ public static function setLanguage($inputLang) { //--- Convert lang to standard form: $lang = self::isLanguageAcceptable($inputLang); //--- If lang is not acceptable set default language (the first of $languages): if ($lang === false) { $lang = self::getLanguageCode(self::$languages[0]); } //--- Set locale: self::$locale = setlocale(LC_ALL, [$lang, $lang . '.UTF-8']); //<-- ["ru_RU", "ru_RU.UTF-8"] //--- Store current language: self::$language = $lang; //self::$inputLanguage = $inputLang; //putenv("LANG=" . self::$language); return self::$language; }
/** * Set current language and locale * * @param string $inputLang Value of HTML tag "lang" (en|ru|en-US|ru-RU|...) * @return <i>string</i> Locale code on success */ public static function setLanguage($inputLang) { //--- Convert lang to standard form: $lang = self::isLanguageAcceptable($inputLang); //--- If lang is not acceptable set default language (the first of $languages): if ($lang === false) { $lang = self::getLanguageCode(self::$languages[0]); } //--- Set locale: $lang_locale = str_replace("-", "_", $lang); //<-- "ru_RU" $locales = array_merge([$lang_locale], self::getLocales("{$lang_locale}.utf")); self::$locale = setlocale(LC_ALL, $locales); //<-- ["ru_RU", "ru_RU.UTF-8"] //--- Store current language: self::$language = $lang; //self::$inputLanguage = $inputLang; //putenv("LANG=" . self::$language); return self::$language; }