Я пытаюсь использовать Yii: t () внутри модуля, но по какой-то причине он не работает, и я вижу на веб-сайте идентификатор перевода «article_was_not_found» вместо его текста «Статья не найдена «.
Код внутри контроллера модуля:
throw new CHttpException(404, Yii::t('NewsModule.article', 'article_was_not_found'));
Содержание защищенных / modules / news / messages / he / article.php:
return array(
'article_was_not_found' => 'The article was not found.'
);
(«он» установлен в качестве исходного языка внутри конфигурации)
Я попробовал несколько разных вариантов: «NewsModule.article», «newsModule.article», «article», «news.article» — однако, похоже, никто не работал.
Это потому, что вы не установили язык. Вы должны установить свой язык на he
как ниже:
Yii::app()->language="he";
Другой способ — установить язык по умолчанию в файле конфигурации:
'language' => 'he',
Обратите внимание, что правильный путь:
Yii::t('NewsModule.article', 'article_was_not_found');
Который NewsModule
это имя класса вашего модуля.
Других решений пока нет …