Языковой файл в модуле

Добрый день.

Подскажите пожалуйста, как создать и использовать языковой файл внутри модуля?

Есть модуль shop (/protected/modules/shop/). Есть в нем папка messages/ru. В ней файл shop.php с таким содержимым:


<?

return array(

    'sold' => 'Продано'

);

В коде отображения пишу Yii::t(‘shop.shop’, ‘sold’);

На что программа мне отвечает


Описание

include(shop.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

Исходный код

Z:\home\gop-shop.com\framework\YiiBase.php(338)

Версия фреймворка самая свежая.

CPhpMessageSource стандартный.

В конфиге


'sourceLanguage'=>'ru_ru',

'language'=>'ru'

А в конфиге прописан basePath для messages ?


'coreMessages'=>array(

    'basePath' => 'protected/messages',

),

Только для кормессаджес. Что-то дописать нужно ещё?

я тут пока слабоват, сам сейчас работаю с этой темой.

но у меня на всякий случай стоит




        'coreMessages'=>array(

            'basePath'=> null,

        ),

        

        'messages' => array(

        	'class' => 'CPhpMessageSource',

        	'basePath' => null,

        ),



Всё равно эта же ошибка.

Ок, а в конфиге в секции import модуль добавлен ?

нет


    'import'=>array(

        'application.models.*',

        'application.components.*',

        'application.extensions.*',

    ),


    'defaultController' => 'shop',


    'modules'=>array(

        ...

        'shop'=>array(

            'defaultController' => 'catalog',

        ),

        ...

    ),

и в самом /protected/modules/shop/ShopModule.php в методе init


$this->setImport(array(

    'shop.models.*',

    'shop.components.*',

));

Пока нет идей, эта тема вообще мало описана в доке.

Я не сразу въехал почему yiic messages мой конфиг не принимал.

а теперь не понимаю почему он падает на не дефолтных языках.

Я в конфиге прописал класс модуля:




'poll'=>array(

    'class'=>'application.modules.poll.PollModule',

),



а во вьюшке вызываю текст так:


echo Yii::t('PollModule.Poll', 'Проголосуйте!');

Кажется мне, что у меня была проблема с классом…

в модуле структура папок таже что и в апликации:




/messages

    /en

        /Poll.php

    /ru

        /Poll.php



yiic messages не пробовал даже - всего пара строк - добавил ручками.

Вот это да, оказывается проблема была в том, что модуль нужно было прописывать не просто Yii::t(‘shop.shop’, ‘sold’),

а Yii::t(‘shopmodule.shop’, ‘sold’).

Спасибо sprint, Ваше сообщение натолкнуло на такую мысль.