2017-08-04 119 views
0

我已經在title_en,title_ru,content_en,content_ru等數據庫中創建了4列。但是,我不知道下一步該做什麼,數據將成功轉入數據庫,但我不知道如何切換語言以及在控制器和模型和視圖中寫什麼,請幫助管理它Yii2基本框架消息語言

+0

男人嗨,剛纔看了官方文檔:這是常見的指南HTTP: //www.yiiframework.com/doc-2.0/guide-tutorial-i18n.html,這是數據庫的消息來源http://www.yiiframework.com/doc-2.0/yii-i18n-dbmessagesource.html – soovorow

+0

bro, ,我無法理解官方文件,b如果你知道如何去做,請幫助我,我需要找到如何在數據庫中快速製作多種語言 –

回答

-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; 
+0

親愛的薩多爾aka,bu yolini yordam.uz da menga o'rgattiz :-),endi databaza yoli bilan qilishni bilmayapmanda ,masalan databazada table_uz,kegin table_ru degan column ochib,kegin sayt rus tilida bo'lsa,ruscha chiqadigon qilishni bimayapman :-) –

+0

mana tepada shu bo'yicha savol beribsizku! sizda qanday kiritiladigan datalar bo'lsa hammasi uchun 2 ta column qilishiz mumkin bu bitta usul。 2-usul:misol uchun post degan table bor,'title','content','language','slug' degan ustunlariz bo'ladi,'slug' - ikkita tilda ham bir xil qiymat berasiz va shu orqali postni'language' ustuni bo'yicha zapros berib olaverasiz –