Предпочтительным способом установки этого расширения является composer
Либо выполните
Код: Выделить всё
composer require --prefer-dist cetver/yii2-language-url-manager
Код: Выделить всё
"cetver/yii2-language-url-manager": "^1.0"
Использование
Обновите файл конфигурации веб-приложения
Код: Выделить всё
return [
'components' => [
'urlManager' => [
'class' => 'cetver\LanguageUrlManager\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
/*
* Список доступных языков.
*/
'languages' => ['en', 'ru'],
/*
или
'languages' => function () {
return \app\models\Language::find()->select('code')->column();
},
*/
/*
* - true: разбирает URL вида "en.example.com"
* - false: разбирает URL вида "example.com/en"
* ЗАМЕЧАНИЕ: Если значение этого св-ва установлено в true, домен, содержащий язык, должен быть первым
* с левой стороны, например:
* - en.it.example.com - правильно
* - it.en.example.com - неправильно
*/
'existsLanguageSubdomain' => false,
/*
* Список шаблонов регулярных выражений, применяемых к пути запроса (\yii\web\Request::getPathInfo()),
* если есть совпадения, запрос, содержащий язык, не будет обрабатываться.
* По соображениям производительности, черный список не применяется для создания URL (см. Пример).
* Пример:
* ```php
* [
* '/^api.*$/'
* ]
* ```
* - Запрос к URL, находящемуся в черном списке
* - $existsLanguageSubdomain = true
* - en.example.com/api (404 Not Found)
* - en.example.com/api/create (404 Not Found)
* - $existsLanguageSubdomain = false
* - example.com/en/api (404 Not Found)
* - example.com/en/api/create (404 Not Found)
* - Создание ссылки, находящейся в черном списке
* - echo \yii\helpers\Html::a('API', ['api/index', Yii::$app->urlManager->queryParam => null]);
*/
'blacklist' => [],
/*
* Имя параметра запроса, содержащее язык.
*/
'queryParam' => 'language'
],
]
];
Выполните следующие команды
Код: Выделить всё
composer create-project --prefer-source cetver/yii2-languages-dispatcher
cd yii2-languages-dispatcher
vendor/bin/codecept run unit
- https://github.com/cetver/yii2-languages-dispatcher - устанавливает язык веб-приложения
- https://github.com/cetver/yii2-language-url-manager - разбирает и создает URL-адреса, содержащие язык
- https://github.com/cetver/yii2-language-selector - предоставляет конфигурацию для виджетов, которые используются для переключения языка
- https://github.com/creocoder/yii2-translateable - Поведение для переводов (Active Record)