Öncelikle @app(frontend veya backend) klasörü içinde messages adında bir klasör açıp içine target language'e verdiğiniz isim adında bir dil dosyası oluşturmalısınız.(örneğin:tr). @app/messages/tr
Set etmek için ilk yol şöyle olacak
return [
// set target language to be Turkish
'language' => 'tr',
// set source language to be English
'sourceLanguage' => 'en-US',
......
];
Ardından uygun olan config
dosyası içine de aşağıda ki kodları eklemelisiniz.
'components' => [
// ...
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\PhpMessageSource',
//'basePath' => '@app/messages',
//'sourceLanguage' => 'en-US',
'fileMap' => [
'app' => 'app.php',
'app/error' => 'error.php',
],
],
],
],
],
Kullanma kodları şöyle olmalı:
<?=\Yii::t('app', 'This is a string to translate!'); ?>
Set etmek için ikinci yol şöyle olacak:
Yii::$app->language = 'tr';
//ya da
Yii::$app->language = Yii::$app->request->get('language','tr');