Включить файл перевода модулей вне модуля в Yii

У меня есть приложение Yii со следующей структурой
приложение/

    /framework
    /protect
        /modules
           /report
              /translation
               lang.php
        /views
        /controller
        /model

У меня есть перевод рабочего языка внутри модуля, но когда я пытаюсь получить доступ к языковому файлу lang.php из представления защищенного каталога вне модулей с помощью следующего кода

Yii::t('ReportModule.lang','Заголовок отчета');

Это показывает ошибку.

include (VreportModule.php): не удалось открыть поток: нет такого файла или каталога

Как сделать языковой файл модуля доступным вне модуля??

1 ответ

Решение

В расширенном шаблоне я сделал это в main.php, вам, вероятно, нужно сделать это внутри вашего web.php

 'i18n' => [
        'translations' => [
            'general*' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'basePath' => '@backend/messages/general',
                'sourceLanguage' => 'en',
            ],
          ],
       ],

И теперь я могу получить доступ к Yii::t('general','message'); Везде Структура папок:

\BasePath
    \language_code example( nl or nl_NL )
       \language file this time it's general.php

Дополнительная информация: документация Yii2

Другие вопросы по тегам