alpiiscky / yii2-multilang
Результаты переработки статьи с хабра
Installs: 40
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2025-04-02 07:00:05 UTC
README
Результаты переработки статьи с хабра https://habrahabr.ru/post/226931/
Решен вопрос дубляжа url. Т.е.
mysite.ru
mysite.ru/ru
mysite.ru/en
отрабатывают корректно, при доступе на mysite.ru
открывается сайт по дефолтному языку,
mysite.ru/ru
дает ошибку 404 (т.к. ru
по умолчанию), mysite.ru/en
открывает английскую версию сайта
Установка
Выполните
composer require --prefer-dist alpiiscky/yii2-multilang "*"
или добавьте
"alpiiscky/yii2-multilang": "*"
в раздел require вашего composer.json
файла.
Использование
Отредактировать web.php
согласно следующим пунктам:
- добавить в разделе
components
:
'request' => [
'class' => 'alpiiscky\multilang\components\LangRequest',
'cookieValidationKey' => '<your code>',
],
- В
urlManager
надо добавить:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'class'=>'alpiiscky\multilang\components\LangUrlManager',
'rules' => [
'/' => 'site/index',
'<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
]
Миграции
php yii migrate --migrationPath=vendor/alpiiscky/yii2-multilang/migrations/
Виджет выбора языка
<?= \alpiiscky\multilang\widgets\LanguageWidget::widget([]); ?>
Создание url
<?php use alpiiscky\multilang\helpers\Url; use alpiiscky\multilang\models\Language; $current_lang = Language::getCurrent(); ?> <?= Url::toLang('/book', ['lang_id' => $current_lang->id]) ?>