Using IDs as translation source
Default way of translating content in Yii is to use English as a source language. It is quite convenient but there's another convenient
way some developers prefer: using IDs such as
How to do it
Using keys is very easy. In order to do it, specify
key in your message bundle config and
'components' => [ // ... 'i18n' => [ 'translations' => [ 'app*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '@app/messages', 'sourceLanguage' => 'key', // <--- here 'forceTranslation' => true, // <--- and here 'fileMap' => [ 'app' => 'app.php', 'app/error' => 'error.php', ], ], ], ], ],
Note that you have to provide translation for the application language (which is
en_US by default) as well.
How it works
key makes sure no language will ever match so translation will always happen no matter what.