首页 > 编程语言 > 详细

Yii2.0 多语言设置(高级版配置方法) - 新的方法

时间:2017-02-19 22:00:52      阅读:160      评论:0      收藏:0      [点我收藏+]

1.设置默认语言:在mail.php配置文件加上:‘language‘=>‘zh_CN‘;

2.多语言切换 (我这边是在site控制器里面操作的所以用的‘/site/language‘)

html代码 :

<a href="<?php echo Yii::$app->urlManager->createUrl([‘/site/language‘,‘lang‘=>‘zh_CN‘]);?>">中文</a>
<a href="<?php echo Yii::$app->urlManager->createUrl([‘/site/language‘,‘lang‘=>‘en‘]);?>">English</a>
<p class="login-box-msg"><?=Yii::t(‘yii‘,‘Hello‘);?></p>

3.site控制器增加方法

//语言切换
    public function actionLanguage(){
        $language=  \Yii::$app->request->get(‘lang‘);
        if(isset($language)){
            \Yii::$app->session[‘language‘]=$language;
        }
        //切换完语言哪来的返回到哪里
        $this->goBack(\Yii::$app->request->headers[‘Referer‘]);
    }

高级版注意需要在main.php内暂时开启访问权限,不然会不生效

    ‘as access‘ => [
        ... ...
        ‘allowActions‘ => [
            //这里是允许访问的action
            ‘*‘
        ]
    ],

4.高级模板路径:

技术分享

5.中文语言文件配置

技术分享

技术分享

6.英文同理

7.修改入口文件web/index.php :

(new yii\web\Application($config))->run();
改为:
$application = new yii\web\Application($config);
$application -> language = isset(\Yii::$app->session[‘language‘]) ? \Yii::$app->session[‘language‘] : ‘zh_CN‘;
$application -> run();

这样就可以实现语言切换了

Yii2.0 多语言设置(高级版配置方法) - 新的方法

原文:http://www.cnblogs.com/yangyuqiu/p/6416824.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!