[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Yii2. Как задать язык по линку
SoMeOnE
В конфиге у меня прописаны такие правила
<?php
return [
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
'language'=>'ru-RU',
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
],

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<language:(ru|en)>/'=>'site/',
'<language:(ru|en)>/about'=>'site/about',
'<language:(ru|en)>/creation'=>'site/creation',
'<language:(ru|en)>/multimedia'=>'site/multimedia',
'<language:(ru|en)>/press'=>'site/press',
],
],

'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\PhpMessageSource',
'basePath' => '@app/messages',
'sourceLanguage' => 'en',
'fileMap' => [
'app' => 'app.php',
'app/error' => 'error.php',
],
],
],
],
],
];


Но что бы при таком запрсе htt://example.com/ru, поменялся язык нужно дописывать
Yii::$app->language = Yii::$app->getRequest()->getQueryParam('language');

А судя по статьям он должен автоматом присваиваться. Если нельзя автоматом, то куда правильнее перевести это присвоение, что бы оно было из единого места
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.