mdmsoft / yii2-admin

Auth manager for Yii2 (RBAC Manager)
GNU General Public License v3.0
1.16k stars 574 forks source link

Unable to locate message source for category 'rbac-admin'. #382

Closed yangyiyuan closed 6 years ago

yangyiyuan commented 6 years ago

`2018-03-20 08:06:22 [127.0.0.1][1][f1b446f10b1a84ae2737584a3a3a2237][error][yii\base\InvalidConfigException] yii\base\InvalidConfigException: Unable to locate message source for category 'rbac-admin'. in /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/i18n/I18N.php:201 Stack trace:

0 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/i18n/I18N.php(89): yii\i18n\I18N->getMessageSource('rbac-admin')

1 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/BaseYii.php(526): yii\i18n\I18N->translate('rbac-admin', '\xE8\xB7\xAF\xE7\x94\xB1\xE7\xAE\xA1\xE7\x90\x86', Array, 'zh-CN')

2 /Users/yangyiyuan/projects/building_block/vendor/mdmsoft/yii2-admin/components/MenuHelper.php(205): yii\BaseYii::t('rbac-admin', '\xE8\xB7\xAF\xE7\x94\xB1\xE7\xAE\xA1\xE7\x90\x86')

3 /Users/yangyiyuan/projects/building_block/vendor/mdmsoft/yii2-admin/components/MenuHelper.php(200): mdm\admin\components\MenuHelper::normalizeMenu('<span class="st...', '<span class="st...', NULL, '1')

4 /Users/yangyiyuan/projects/building_block/vendor/mdmsoft/yii2-admin/components/MenuHelper.php(131): mdm\admin\components\MenuHelper::normalizeMenu('<span class="st...', '<span class="st...', NULL, NULL)

5 /Users/yangyiyuan/projects/building_block/backend/views/layouts/left.php(38): mdm\admin\components\MenuHelper::getAssignedMenu(1)

6 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/View.php(336): require('/Users/yangyiyu...')

7 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/View.php(254): yii\base\View->renderPhpFile('/Users/yangyiyu...', Array)

8 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/View.php(156): yii\base\View->renderFile('/Users/yangyiyu...', Array, NULL)

9 /Users/yangyiyuan/projects/building_block/backend/views/layouts/main.php(50): yii\base\View->render('left.php', Array)

10 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/View.php(336): require('/Users/yangyiyu...')

11 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/View.php(254): yii\base\View->renderPhpFile('/Users/yangyiyu...', Array)

12 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/Controller.php(399): yii\base\View->renderFile('/Users/yangyiyu...', Array, Object(backend\controllers\SiteController))

13 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/Controller.php(385): yii\base\Controller->renderContent('<div class="sit...')

14 /Users/yangyiyuan/projects/building_block/backend/controllers/SiteController.php(65): yii\base\Controller->render('index')

15 [internal function]: backend\controllers\SiteController->actionIndex()

16 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

17 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)

18 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/Module.php(528): yii\base\Controller->runAction('', Array)

19 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction('', Array)

20 /Users/yangyiyuan/projects/building_block/vendor/yiisoft/yii2/base/Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))

21 /Users/yangyiyuan/projects/building_block/backend/web/index.php(17): yii\base\Application->run()

22 {main}`

yangyiyuan commented 6 years ago

'components' => [ // other code 'i18n'=>[ 'translations'=>[ 'rbac-admin' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@app/messages', ], ], ] ],

thattejada commented 6 years ago

I had this problem too, as shown in previous comment you should explicitly config the i18n translations when using Message Category different from app:

        'i18n' => [
            'translations' => [
                '*' => [ // This config applies to all translations
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@app/messages'
                ],
            ],
        ], 

As you can see I'm using *, that way that config is applied to all translations.