/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
common/components/LanguageSelector.php
50 строк
1 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace common\components; use common\helpers\AppHelper; use Yii; use yii\base\BootstrapInterface; use yii\helpers\VarDumper; /** * Компонент по переключению языка приложения * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2020 */ class LanguageSelector implements BootstrapInterface { /** * Поддерживаемые языки * @var string[] */ public $supportedLanguages = ['en', 'ru', 'de']; /** * @inheritdoc */ public function bootstrap($app) { $preferred_language = Yii::$app->request->getPreferredLanguage($this->supportedLanguages); $preferred_language = 'en'; if (AppHelper::isFrontend()) { $language = Yii::$app->session->get('language', $preferred_language); $type = 'session'; } else { if ($user = Yii::$app->user->identity) { // $language = $user->getParams('language', $preferred_language, -1); $language = Yii::$app->session->get('language', $preferred_language); $type = 'db'; } else { $language = $preferred_language; $type = 'browser'; } } Yii::debug(VarDumper::dumpAsString([ 'language' => $language, 'type' => $type ])); $app->language = $language; } }