コード例 #1
0
ファイル: Language.php プロジェクト: sad-systems/startap
 /**
  * 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;
 }
コード例 #2
0
ファイル: Language.php プロジェクト: sad-systems/cradle
 /**
  * Returns the code of current language (selected by user or default)
  * 
  * @param boolean $shortForm            TRUE is 2-symbols form (en|ru|...).
  *                                      FALSE is 5-symbols form (en-US|ru-RU|...).
  * @param array   $acceptableLanguages  List of acceptable languages. 
  *                                      The first in list is the default.
  * 
  * @return <i>string</i> The code of current language.
  *                       Can be 2-symbols form (en|ru|...) or 5-symbols form (en-US|ru-RU|...) depending on the $shortForm value.
  * @see $shortForm 
  */
 public static function getLanguage($shortForm = null, $acceptableLanguages = null)
 {
     if ($shortForm === null) {
         $shortForm = self::$shortForm;
     }
     if (is_array($acceptableLanguages)) {
         self::$languages = $acceptableLanguages;
     }
     //--- Return the stored language:
     if (!self::$language) {
         //--- If is set $_COOKIE's languge:
         if ($_COOKIE[self::$cookieLanguageKey]) {
             self::setLanguage($_COOKIE[self::$cookieLanguageKey]);
         } else {
             //--- Define language accepted by user's browser:
             self::setLanguage(self::getUserAcceptLanguage());
         }
     }
     //--- Short form:
     if ($shortForm) {
         return substr(self::$language, 0, 2);
     }
     //--- Standard form:
     return self::$language;
 }