Esempio n. 1
0
 /**
  * Получить список доступных языков.
  * @param  string $type варианты предоставления результата.
  * Доступные значения:
  *     locales - массив доступных локалей
  * @return array
  */
 private static function _getAvailable($type = null)
 {
     if (self::$_available === null) {
         // $current = self::getCurrent();
         $default = self::getDefaultLang();
         // self::$_available = self::find()->orderBy("(url = '" . $current->url . "') DESC")->all();
         self::$_available = self::find()->orderBy("(url = '" . $default->url . "') DESC")->all();
     }
     $result = [];
     if (self::$_available && $type !== null) {
         foreach (self::$_available as $key => $value) {
             $result[] = $value[$type];
         }
     } else {
         $result = self::$_available ?: [];
     }
     return $result;
 }
Esempio n. 2
0
 static function setCurrent($url = null)
 {
     $language = self::getLangByUrl($url);
     self::$current = $language === null ? self::getDefaultLang() : $language;
     Yii::$app->language = self::$current->local;
 }
Esempio n. 3
0
 public static function setCurrent($code = null)
 {
     $language = self::getLangByUrl($code);
     self::$current = $language === null ? self::getDefaultLang() : $language;
     Yii::$app->language = self::$current->code;
 }