Включить файл перевода модулей вне модуля в 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