我的网站内容为俄语。 在我的视图文件中,例如:
<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',
];
结果,当我打开我的项目时,默认情况下,而不是'Главная',我有'家'。当我点击“俄语”或“英语”时,页面重新加载但不会改变任何内容。我想默认显示俄语,并通过点击“英语”链接切换到英语。我的错误在哪里?