Yii2基本框架消息语言

时间:2017-08-04 08:04:58

标签: php yii2 frameworks multilingual

我在数据库中创建了4个列,分别是title_en,title_ru,content_en,content_ru。但是,我不知道接下来要做什么,数据成功进入数据库,但我不知道如何切换语言以及如何在控制器,模型和视图中编写,请帮助管理它

1 个答案:

答案 0 :(得分:-1)

您可以从本教程中学习。

https://code.tutsplus.com/tutorials/how-to-program-with-yii2-localization-with-i18n--cms-23140

您可以使用jquery ajax请求来切换语言。

public function actionChangelang(){
        $language = $_GET['lang'];
        if($language =='en' || $language == 'uz' || $language == 'ru'){
            Yii::$app->language = $language ;
            Yii::$app->session->set('lang', $language); //or $_GET['lang']
        }

        $this->redirect('/'); // redirecting user to somewhere
    }

之后,您可以在控制器中编写查询,如下所示:

...
$model = Yourmodel::find()->all();
...
//TODO

在视图中:

$lang = 'ru';
if (Yii::$app->language == 'uz')
    $lang = 'uz';
if($lang=='uz'){
    $title = $model->title_uz ;
    $content = $model->content_uz ;
}else{
    $title = $model->title_ru;
    $content = $model->content_ru;
    }

...
//TODO

echo $title;
echo $content;