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 thank.you.
How to do it
Using keys is very easy. In order to do it, specify sourceLanguage as key in your message bundle config and
then set forceTranslation to true:
'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
Setting sourceLanguage to key makes sure no language will ever match so translation will always happen no matter what.