1、多语言实现的原理
在实现多语言的时候需要调用L()函数。那么L函数是如何实现多语言的输出呢?
在L函数内部有一个静态变量$_lang一维数组。所有的语言数据都存在在这个数组中。
系统在加载的时候根据选择的语言,搜寻指定目录下的语言包文件,调用L函数将文件的语言数据
存入上面的静态数组中,成为以后搜索的数据源。
2、文件结构

3、CheckLangBehavior运行流程
读取参数LANG_SWITCH_ON是否打开→(打开)→读取如下参数:DEFAULT_LANG(默认语言),VAR_LANGUAGE(URL中的语言参数),LANG_LIST(语言列表)
→根据浏览器及URL的参数生成最终的设置语言→读取框架语言包(将框架语言包的内容存入$_lang中)→读取应用公共语言包(将语言包数据合并到$_lang中)
→读取应用模块语言包(将语言包数据合并到$_lang中)→读取当前控制器语言包(将语言包数据合并到$_lang中)
4、外部js文件中的多语言信息处理
在html页面中定义变量传递到js文件中

Think PHP 3.2 界面及JS多语言实现的更多相关文章

  1. Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结

    Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结 1.1. 边缘检测的基本方法Canny最常用了1 1.2. 编写matlab边缘检测代码, ...

  2. JS脚本语言里的循环

    js脚本语言:  循环:(循环操作某一个功能(执行某段代码)) 四要素: 循环初始值  循环条件  状态改变  循环体 for(穷举  迭代) while 举例:(穷举) 与7相关的数 <scr ...

  3. 样式其他与JS脚本语言

    样式其他:display(显示block和隐藏none,不占位置)  visibility(显示visible和隐藏hidden,占位置)  overflow(超出范围 hidden隐藏) 透明(op ...

  4. 关于JS脚本语言的基础语法

    JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱 ...

  5. Nuxt+Vue聊天室|nuxt仿微信App界面|nuxt.js聊天实例

    一.项目简述 nuxt-chatroom 基于Nuxt.js+Vue.js+Vuex+Vant+VPopup等技术构建开发的仿微信|探探App界面社交聊天室项目.实现了卡片式翻牌滑动.消息发送/emo ...

  6. web 界面设计---js提交表单

    <script type="text/javascript"> function checkImage(){ var imageValue = document.get ...

  7. web 界面设计---js设置txt值

    <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312&quo ...

  8. js脚本语言在页面上不执行

    转换原理:// 编码原理就是创建TextNode节点,附加到容器中,再取容器的innerHTML.(将脚本编码) // 解码原理是将字符串赋給容器的innerHTML,再取innerText或text ...

  9. JS脚本语言是什么意思?

    javascript,Javascript是一种浏览器端的脚本语言,用来在网页客户端处理与用户的交互,以及实现页面特效.比如提交表单前先验证数据合法性,减少服务器错误和压力.根据客户操作,给出一些提升 ...

随机推荐

  1. codevs 1540 1540 银河英雄传说

    1540 银河英雄传说 题目描述 Description 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银 ...

  2. 【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档

    本章介绍如何使用NGINX Plus和NGINX开放源代理和负载平衡TCP和UDP流量. 目录 介绍 先决条件 配置反向代理 配置TCP或UDP负载平衡被动健康监控 选择负载平衡方法 配置会话持久性 ...

  3. 手机中的js事件

    // 手势事件 touchstart //当手指接触屏幕时触发 touchmove //当已经接触屏幕的手指开始移动后触发 touchend //当手指离开屏幕时触发 touchcancel // 触 ...

  4. 解决组合排列问题 A (m ,n) m>=n

    转载自http://blog.csdn.net/sunyujia/article/details/4124011 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取 ...

  5. hadoop启动步骤

    一.ssh的启动 ssh localhost二.hadoop的HDFS的格式化 bin/hadoop namenode -format三.hadoop的start-all.sh的启动 bin/tart ...

  6. 微服务深入浅出(5)-- 声明式调用Feign

    Feign的使用 Feign采用了声明式的API接口的风格,将Java Http客户端绑定到它的内部,从而调用过程变的简单. 配置文件: spring: application: name: eure ...

  7. HDU 1715 大斐波数 加法高精度

    解题报告:求 斐波那契数,不过这题的n的范围是1000,肯定是早就超过了的,所以要用到高精度,所以这题其实就是一个加法高精度的题. 我的做法 是写一个大数相加的函数,然后打表就是了,这里注意的就是每次 ...

  8. HDU 2102 A计划 (深搜)

    题目链接 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主 ...

  9. linux学习记录.3.virtualbox 共享文件夹

    需要先安装增强功能. 设置目录后, mkdir /mnt/WinDownload      //建立映射目录 sudo mount -t vboxsf Download /mnt/Windwnload ...

  10. Solr管理索引库——(十三)

    a)          维护索引 1.  添加/更新文档 添加或更新单个文档