Yii2 i18n:无法改变语言

时间:2017-02-12 15:17:15

标签: php yii2 internationalization

我的网站内容为俄语。 在我的视图文件中,例如:

<span><?=Yii::t('app','Главная')?></span>

在我的parameters.php文件中:

'languages' => [
    'ru' => 'russian',
    'en' => 'english',
]

切换我正在写的语言:

<?foreach(Yii::$app->params['languages'] as $key => $language):?>
    <li class="language" id="<?=$key?>"><?=$language?></li>
<?endforeach;?>

创建JS文件:

$(function(){
$(document).on('click','.language',function(){
    var lang = $(this).attr('id');

    $.post('index.php?r=site/language',{'lang':lang},function(data){
        location.reload();
    });
});

});

共同的\ config \ main.php:

    'i18n' => [
        'translations' => [
            'app' => [
                'class' => 'yii\i18n\PhpMessageSource',
                //'basePath' => '@app/messages',
                'sourceLanguage' => 'ru',
                'fileMap' => [
                    'app' => 'app.php',
                    'app/error' => 'error.php',
                ],
            ],
        ],
    ],

然后我在frontend \ messages \ en \ app.php:

return [
    'Главная'=>'Home',
];

结果,当我打开我的项目时,默认情况下,而不是'Главная',我有'家'。当我点击“俄语”或“英语”时,页面重新加载但不会改变任何内容。我想默认显示俄语,并通过点击“英语”链接切换到英语。我的错误在哪里?

0 个答案:

没有答案