public static function getDefault() { if (self::$_langInstance === null) { self::$_langInstance = self::find()->where(['is_default' => 1])->asArray()->one(); } return self::$_langInstance; }
static function setCurrent($url = null) { $language = self::getLangByUrl($url); self::$current = $language === null ? self::getDefaultLang() : $language; Yii::$app->language = self::$current->url; Yii::$app->formatter->locale = self::$current->local; if (isset(Yii::$app->request->cookies['lang'])) { Yii::$app->response->cookies->remove('lang'); } Yii::$app->response->cookies->add(new \yii\web\Cookie(['name' => 'lang', 'value' => self::$current->url, 'expire' => time() + 60 * 60 * 24])); }
public static function findActive() { if (self::$_langInstanceFindActive === null) { $langShortCode = Yii::$app->composition->getKey('langShortCode'); if (!$langShortCode) { self::$_langInstanceFindActive = self::getDefault(); } else { self::$_langInstanceFindActive = self::find()->where(['short_code' => $langShortCode])->asArray()->one(); } } return self::$_langInstanceFindActive; }