2017-08-04 4 views
0

Ich habe 4 Spalten in der Datenbank erstellt, die title_en, title_ru, content_en, content_ru sind. aber ich weiß nicht, was als nächstes zu tun, Die Daten werden erfolgreich Datenbank, aber ich weiß nicht, wie man die Sprache wechseln und was in Controller und Modelle und Ansichten zu schreiben, können Sie helfen, es zu verwaltenYii2 Basic Framework Nachricht Sprache

+0

Hallo Mann, lesen Sie einfach die offizielle Dokumentation: das ist nicht unüblich Führung http: //www.yiiframework.com/doc-2.0/guide-tutorial-i18n.html, und das ist Datenbank-Nachrichtenquelle http://www.yiiframework.com/doc-2.0/yii-i18n-dbmessagesource.html – soovorow

+0

bro, Ich konnte die offizielle Dokumentation nicht verstehen, b ut, wenn Sie wissen, wie es geht, bitte helfen Sie mir, ich muss finden, wie mehrsprachig in der Datenbank sehr bald –

Antwort

-1

Sie können lerne von diesem Tutorial.

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

Sie können mit Jquery Ajax-Request swtich Sprache.

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 
    } 

Danach können Sie Abfrage in der Steuerung wie folgt schreiben:

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

In Ansicht:

$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

Lieber Sardor aka, but yolini yordam.uz von menga o'rgattiz :-), endi databaza yoli bilan qilishni bilmayapmanda , megalan databazada table_uz, kegin table_ru degan spalte ochib, kegin sayt rus tilida bo'lsa, ruscha chiqadigon qilishni bimayapman :-) –

+0

mana tepada shu bo'yicha savol beribsizku! sizda qanday kiritiladigan datarar bo'lsa hammasi uchun 2 ta Spalte qilishiz mumkin bu bitta usul. 2 - usul: misol uchun nach dogan table bor, 'title',' content', 'sprache',' slug' degan ustunlariz bo'ladi, 'slug' - ikkita tilda ham bir xil qiymat berasiz va shu orqali postni' sprache' Ustuni Bo'yicha Zapros Berib Olaverasiz –