【问题标题】:Yii2 basic framework message languageYii2 基本框架消息语言
【发布时间】:2017-08-04 08:04:58
【问题描述】:

我在数据库中创建了 4 列,分别是 title_en、title_ru、content_en、content_ru。但是,我不知道下一步该怎么做,数据已成功进入数据库,但我不知道如何切换语言以及在控制器、模型和视图中写入什么,请您帮忙管理一下

【问题讨论】:

标签: php yii2 frameworks multilingual


【解决方案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;

【讨论】:

  • 亲爱的 Sardor 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 :-)
  • 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 @987654333 ustuni bo'yicha zapros berib olaverasiz
猜你喜欢
  • 2018-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 2013-02-10
相关资源
最近更新 更多