yii2的多语言切换功能

1.页面添加语言切换按钮,如下图:

代码如下:

<ul>
       <li>
           <a href="javascript:;" onclick="changeLanguage('en_US');">
               <span><?php echo \Yii::t('app','English')?></span>
           </a>
       </li>
       <li>
           <a href="javascript:;" onclick="changeLanguage('zh-CN');">
               <span><?php echo \Yii::t('app','Chinese')?></span>
           </a>
       </li>
       </ul>

2.js代码function chanageLanguage();代码如下

<script>
       function changeLanguage(lang){
           $.cookie('language',lang);
           window.location.reload();
       }
</script>

3.入口文件web/index.php中添加语言配置代码:

$application->language = isset($_COOKIE['language']) ? htmlspecialchars($_COOKIE['language']) : 'zh-CN';

4.在项目目录中,添加文件夹messages,如下图:
  

5. 在messages文件夹下,新建文件夹zh-CN,如下图:

6. 在zh-CN中新建php文件app.php为语言文件,如下图:

7.下载jquery的一个插件jquery.cookie.js.要在项目的AppAsset.php中引用,如下图

该js文件放在web下新建的js目录中。

以上步骤完成,yii2的多语言设置已经完成,在英文和简体中文之间切换。

yii2多语言设置的更多相关文章

  1. yii2时区语言设置

    main.php return [ 'charset' => 'utf-8', 'language' => 'zh-CN', 'timeZone' => 'Asia/Shanghai ...

  2. yii2多语言

    1.页面视图(我放在了布局文件main.php中): <a href="javascript:;" onclick="changeLanguage('zh-CN') ...

  3. jquery.datatables中文语言设置

    /* * sErrMode * 错误信息显示方式 * 分别为alert和throw,默认为alert */ "sErrMode": "throw", /* * ...

  4. Linux - 终端语言设置

    查看当前终端用户的语言设置 locale - get locale-specific information : locale |grep LANG 改变当前终端用户的语言设置(临时生效) 中文UTF ...

  5. thinkphp多语言设置

    thinkphp多语言设置有点'高大上',为什么说它有点'高大上'呢?因为本人设置了好久才弄好,而本人之所以弄了好久的原因,竟然是因为'开启语言设置必须得先开启初始化系统的行为类',所以,在这里,因为 ...

  6. iOS 国际化多语言设置 xcode7

    iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...

  7. Wamp Mysql错误消息 语言设置

    Wamp Mysql错误消息 语言设置 http://my.oschina.net/wandershi/blog/264347 打开my.ini   找到 [wampmysqld] port = 33 ...

  8. Linux改变语言设置的命令

    --Linux语言设置--------------2013/09/22Linux中语言的设置和本地化设置真是一个很繁琐的事情,时不时的会出现乱码的情况,在这篇文章中讨论的是shell中出现乱码的一些解 ...

  9. Visual Studio Code 语言设置

    下载Visual Studio Code,下载地址:https://code.visualstudio.com/ 参考官网安装之后,想要设置界面展示语言. 设置参考:https://code.visu ...

随机推荐

  1. Emmet(之前叫Zencoding)插件安装

    按 ctr+shift+P,输入 install Package,找到emmet,确认安装 Package Control Messages======================== Emmet ...

  2. linux关机

    init 0; init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等.shutdown 就是使用这种机制.init定义了8个运行级别(runle ...

  3. JMeter学习-016-思路篇之-山重水复柳暗花明

    首先,此文非技术类博文,为思路类的博文,敬请参阅,欢迎共同探讨! 今天在编写 JMeter 接口监控脚本时,遇到了一个问题,在解决问题的时候,思路出现了偏差,导致了自己在解决问题时,绕了弯,浪费了些时 ...

  4. imx6dl i2c4 support

    imx6dl i2c4 support 最近的项目用到了imx6dl的i2c4,其实完全可以用gpio-i2c的方法来实现.既然imx6的datasheet中提到有4个i2c,那么一定可以生成i2c的 ...

  5. Recompile the invalid object for oracle.

    1. How does the invalid object come? The Oracle database will invalidate objects if a dependent obje ...

  6. 选择时区的命令tzselect

    选择时区的命令tzselect tzselectPlease identify a location so that time zone rules can be set correctly.Plea ...

  7. 在 virtualbox 的 centos7 虚拟机中安装增强工具

    在 virtualbox 的 centos7 虚拟机中安装增强工具 centos7 刚刚安装完成时,直接安装 virtualbox 增强工具会出错,需要先把 gcc / kernel-devel / ...

  8. ionic build android 报错分析

  9. 从AsyncTask中获取数据的问题

    public class GetData extends AsyncTask<String, Void, String> { DataDownloadListener dataDownlo ...

  10. C# Main函数的 args参数

    网上参考 博客,使用如下代码: using System; using System.Collections.Generic; using System.Linq; using System.Text ...