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. 简述C#中关键字var和dynamic的区别

    C#中关键字var和dynamic的区别如下: 1.var申明的变量必须初始化,dynamic申明的变量无需初始化. 2.var关键字只能在方法内部申明局部变量,dynamic关键字可用于局部变量,字 ...

  2. zero1--hibernate注解02

  3. 用JQuery给图片添加鼠标移入移出事件

    $("#addLineImg").mouseover( function(){ $("#addLineImg").attr("src",&q ...

  4. rem适配

    //REM适配new function() { var _self = this; _self.width = 640; // 设置默认最大宽度 _self.fontSize = 100; // 默认 ...

  5. 简述Docker镜像、容器、仓库概念

    Docker镜像 Docker镜像(Image)类似于虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件系统. 例如:一个镜像可以完全包含了Ubuntu操作系统环境,可以把它称 ...

  6. Epoll模型详解

    Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数. 1.为什么select落后    首先,在Lin ...

  7. Java控制语句——for循环

    for循环语句是支持迭代的一种通用结构,是最有效.最灵活的循环结构. 语法形式: for(初始表达式 ; 布尔表达式 ; 步进){ 循环体 } for循环在执行条件测试后,先执行程序部分,再执行步进. ...

  8. Formatting Domain Names--域名可以由哪些字符串组成

    the domain name can include any of the following printable ASCII characters (excluding spaces): a-z ...

  9. 对ASP.NET Cookie的一些新的认识

    做用户登录,我一直用form验证的方式.有时候,为了节省时间,用户希望用户名输入框能够记住用户名,省得下次重新输入.这个时候光用form验证是不行的,因为form验证的话,用户一退出系统就失效了,所以 ...

  10. 收集一些java相关的文章

    有些文章看了,以后想再看已经忘了在哪里了.故在此一一记录下那些值得看的文章. 1:如何确定Java对象的大小 中文版本 :http://article.yeeyan.org/view/104091/6 ...