当前位置:首页 > PHP > Yii2 > 正文内容

Yii2.0 多语言设置(高级版配置方法) [ 2.0 版本 ]

佳航网络工作室2年前 (2024-01-21)Yii21047

1.设置默认语言:在main.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.高级模板路径:

image.png

5.中文语言文件配置

image2.png

image3.png

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();


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


扫描二维码推送至手机访问。

版权声明:本文由佳航网络发布,如需转载请注明出处。

本文链接:https://www.jiahang.work/?id=18

分享给朋友:

“Yii2.0 多语言设置(高级版配置方法) [ 2.0 版本 ]” 的相关文章

YII2.0 高级模板增加api [ 2.0 版本 ]

第一步进入高级模板根目录,复制backend改名为apicp backend/ api -r第二步复制api初始化模板cp -a environments/dev/frontend environments/dev/api cp ...

【从零开始搭建Yii2后台管理系统】三、搭建数据库,实现后台系统登录

【从零开始搭建Yii2后台管理系统】三、搭建数据库,实现后台系统登录

在上一篇文章中,已实现网站的初步访问,下一步进行网站的完善和改造。1.创建数据库CREATE DATABASE IF NOT EXISTS `moonadmin` DEFAULT CHARACTER SET u...

【从零开始搭建Yii2后台管理系统】四、引入前台UI文件,实现界面的美化

在上一篇文章中,我们已经实现了网站后台的管理员账号登录,下一步我们引入UI文件,美化界面主题。...

Yii2 中如何彻底禁用掉自带的 Yii、JQuery 和 Bootstrap 脚本 [ 2.0 版本 ]

▪ 环境基于 Yii2 高级模板▪ 前言默认情况下,Yii2 会自动加载 Yii、JQuery 和 Bootstrap 等脚本和样式,但有时项目中可能并不需要这些库,或者使用其他版本;下面介绍如何去掉这些库脚本和样式。▪ 去除 Yii.js 相关脚本编辑 frontend\asset\AppAsse...

yii2 ajax csrf meta,yii2开启CSRF后POST"提交的数据无法被验证"

CSRF全称Cross-site request forgery,即跨站请求伪造。利用CSRF,攻击者可以破坏网络请求会话的完整性。比如如果在一个Web页面中存在js ajax的请求,为了网站安全,你应该仅允许这个ajax请求在当前web页面内发起。否则的话,用户可以通过模拟该ajax请求...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。