Я трудно понять, что это идеальное место, чтобы использовать **\Yii::$app->language = 'pt';**
Я пытался в main.php
зрения, но только меню есть перевод. В tutorial-i18N говорит:
Вы можете установить язык приложения во время выполнения на языке, который выбрал пользователь. Это должно быть сделано в точке до того, как будет сформирован любой результат , чтобы он правильно влиял на весь вывод. Therefor просто изменить свойства приложения до требуемого значения
Мое намерение состоит в том, чтобы сохранить нужный язык в LANGUAGE
поле в профиле пользователя (вместе с FULL_NAME
и т.д.).
В коде мне нужно знать правильное местоположение и как использовать его.
EDIT
@ Timothee Planchais, этот способ работает:
class SiteController extends Controller
{
public function init()
{
parent::init();
if(!Yii::$app->user->isGuest) {
Yii::$app->language = Yii::$app->user->identity->profile->language;
}
}
Но работать только в SiteController
Hi Timothee, это работает, но я должен делать в каждом CONTROLLER в моем приложении? – gugoan
Да, все ваши контроллеры должны расширить это пользовательское приложение \ components \ Controller. –
Хорошо, я сделал это и отлично работал. – gugoan