Demir Volkov Demir Volkov - 1 month ago 18
PHP Question

How to configure gettext with Yii::t() in Yii2 advanced?

I'm installed Yii2 advanced template and configure Yii::t() with PhpMessageSource, but i need configure it with GettextMessageSource. I'm added to common/config/main-local.php this code:

'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\GettextMessageSource',
'basePath' => '@app/messages',
'sourceLanguage' => 'en-US',
],
],
],


Put at frontend/messages/ru-RU app.po file sample text:

msgid "TEST"
msgstr "Текст"


Add in view file:

Yii::t('app', 'TEST');


But it doesn't work, where i need to store .po files or what i'm doing wrong?

Answer
'basePath' => '@app/messages',

change to 'basePath' => '@common/messages', or 'basePath' => '@root/common/messages

and replace your messages to common/messages.