Yii2.0 语言切换的简单设置

多余的话不说,直接看代码:

1) 在 common/config/main.php 写入配置代码

 1 //        配置翻译信息
 2         ‘i18n‘ => [
 3             ‘translations‘ => [
 4                 ‘app‘ => [
 5                     ‘class‘ => ‘yii\i18n\PhpMessageSource‘,
 6                     ‘basePath‘ => ‘@common/messages‘,
 7 //                    ‘sourceLanguage‘ => ‘en‘,
 8                     ‘fileMap‘ => [
 9                         ‘app‘ => ‘app.php‘,
10                         ‘app/error‘ => ‘error.php‘,
11                     ],
12                 ],
13             ],
14         ],

2) 前台模板文件要写出切换的地址   frontend/views/layouts/main.php

1  $menuItems = [
2         [‘label‘ => ‘Home‘, ‘url‘ => [‘/site/index‘]],
3         [‘label‘ => ‘About‘, ‘url‘ => [‘/site/about‘]],
4         [‘label‘ => ‘Contact‘, ‘url‘ => [‘/site/contact‘]],
5         [‘label‘ => Yii::t(‘app‘,‘Chinese‘), ‘url‘ => [‘/site/language‘,‘lang‘=>‘zh_CN‘]],
6         [‘label‘ => Yii::t(‘app‘,‘English‘), ‘url‘ => [‘/site/language‘,‘lang‘=>‘en‘]],
7     ];

3) 根据模板传入的参数在控制器中写入代码  frontend/controllers/SiteController.php

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

4) 根据配置创建文件路径  common/messages/en/app.php

return [
    ‘English‘=>‘English‘,
    ‘Chinese‘=>‘Chinese‘,
];

common/messages/zh_CN/app.php

return [
    ‘English‘=>‘英文‘,
    ‘Chinese‘=>‘中文‘,
];

5) 配置完成,效果如下图

记忆力不好,记录下来

时间: 2024-10-14 13:18:19

Yii2.0 语言切换的简单设置的相关文章

[moka同学笔记]yii2.0小物件的简单使用(第二种方法)

1.在widgets/TestWidget.php中 1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: moka同学 5 * Date: 2016/08/05 6 * Time: 18:15 7 */ 8 namespace app\widgets; 9 10 use yii\base\Widget; 11 12 class TestWidget extends Widget 13 { 14 public $msg = ''; 15 16 //初始

Android 应用内多语言切换

p.p1 { margin: 0.0px 0.0px 12.0px 0.0px; line-height: 18.0px; font: 12.0px ".PingFang SC"; color: #000000 } p.p3 { margin: 0.0px 0.0px 13.9px 0.0px; line-height: 18.0px; font: 16.8px "PT Sans"; color: #000000 } p.p4 { margin: 0.0px 0.0

Yii2.0实现语言包切换功能

在yii2.0高级模板框架中,以前台为例,首先  在前台frontend 下面建立  messages/zh-CN 在 messages文件夹中创建一个文件:  ①common.php                                                     如果是使用的后台目录,就在  backend/config/main.php 中添加如下的配置文件return  [                     'language'=>'zh-CN',//选择中文

【Android 多语言切换简单实例分享】

一.Android多语言切换 Android应用的开发不可能只针对某一个国家或者区域使用,各国间语言文化各不相同,因此一个优秀的APP必须支持多种语言,为了实现这个特性,Android给出了一个解决方式,在res目录下通过values+语言编码来实现多国语言的支持(中间采用连字符号-连接),例如:values-es代表英文,如果你决定了你的应用要支持多国语言,那么你就必须新建多种values-XXX的多语言支持文件,下面通过一个例子来看看基本的使用方式,先看下效果图: 1.工程结构 注:主要看下

yii2多语言设置

yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul>       <li>           <a href="javascript:;" onclick="changeLanguage('en_US');">               <span><?php echo \Yii::t('app','English')?></span>           &l

下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作

下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据: User::find()->where(['name' => '小伙儿'])->all(

Yii2.0 实现RESTful风格的简单API

一.创建数据库 首先,在mysql中创建一个名为yii2basic的数据库,并创建一张名为player的表. 二.配置 1.app/config/db.php <?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2basic', 'username' => 'root', 'password' => '', 'charset' => 'utf8',

Yii2.0中文开发向导——高级应用程序模板

高级应用程序模板这个模板用在大型的团队开发项目中,而且后台从前台独立分离出来以便于部署在多个服务器中.由于YIi2.0的一些新的特性,这个程序模板的功能要更深一点.提供了基本的数据库的支持,注册.密码找回等功能.安装可以通过Composer来安装如果没有安装Composer,先安装 curl -s http://getcomposer.org/installer | php 然后用如下命令来获取 php composer.phar create-project --prefer-dist --s

Android应用语言切换功能

因为公司的产品大部分是销售到国外的,所以领导要求app有语言切换功能.我在网上搜了些相关知识并实现了功能,在这里做个中英文切换的demo记录下来. 先看看demo的效果: 效果就是这样子.当然也可以做成其他语言的切换,具体根据需求而定. 原理其实很简单,就是多个strings.xml进行切换然后在刷新Activity. 首先,在AndroidManifest.xml文件中的每个需要切换语言的Activity中加入android:configChanges="locale". 然后在re