Не срабатывает Yii::t()

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
andry
Сообщения: 224
Зарегистрирован: 2009.11.08, 16:52

Не срабатывает Yii::t()

Сообщение andry »

подскажите, возможно использовать перевод от одного модуля на другом, допустим у меня имеется два модуля Test1 и Test2

у обоих модулей существуют файлы перевода по директориях
modules/test1/messages/ru/base.php
modules/test2/messages/ru/base.php
И когда я в экшене модуля Test2 указываю первод от первого модуля Test1 так

Код: Выделить всё

echo Yii::t('Test1Module.base','setting');
то мне выдаёт ошибку
PHP warning
include(Test1Module.php): failed to open stream: No such file or directory
скажите, в чём может быть проблема, ведь путь я указываю верно "Test1Module.base", фреймворк должен его находить, и ведь находит если я указываю в экшене родного модуля
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Не срабатывает Yii::t()

Сообщение chungachguk »

Мне как-то попадался проект, так там указывал вот так

Код: Выделить всё

echo Yii::t('Test1Module/base','setting');
 
andry
Сообщения: 224
Зарегистрирован: 2009.11.08, 16:52

Re: Не срабатывает Yii::t()

Сообщение andry »

chungachguk писал(а):Мне как-то попадался проект, так там указывал вот так
по пробовал, не получается, за место этого выводит просто то что указанно например выводит setting, тоесть не обрабатывается

вроде я правильно сделал как указанно в самой документации
http://www.yiiframework.com/doc/guide/1 ... opics.i18n
При использовании CPhpMessageSource, сообщения для расширений, таких, как виджет или модуль, могут быть использованы особым образом. То есть, если сообщение принадлежит расширению с именем класса Xyz, то категория сообщений может быть указана в формате Xyz.имяКатегории. Соответствующий ей файл сообщений будет ПутьДоРасширения/messages/IDЯзыка/имяКатегории.php, где ПутьДоРасширения — директория, в которой находится класс расширения. При использовании Yii::t() для перевода сообщения расширений должен использоваться следующий формат:

Yii::t('Xyz.имяКатегории', 'сообщение для перевода')
сперва указываем название модуля, далее через точку указываем файл перевода находящийся в директории данного модуля
Ответить