thinkphp多语言设置
thinkphp多语言设置有点‘高大上’,为什么说它有点‘高大上’呢?因为本人设置了好久才弄好,而本人之所以弄了好久的原因,竟然是因为‘开启语言设置必须得先开启初始化系统的行为类’,所以,在这里,因为本人的经验有限,姑且认为tp的多语言设置必须的先初始化tp的CheckLangBehavior.class.php
怎么初始化CheckLangBehavior.class.php呢?下面进行讲解。
上一章已经对行为类进行讲解了,不懂的可以看看上篇文章。这里就不多介绍。
tp框架下面,所有模块初始化CheckLangBehavior.class.php,下面截图:
路径大家应该看得懂吧,就在你的公用模块配置文件config.php那里新建一个tags.php就行了,tags.php的内容如下:
<?php
return array(
//app_begin这个行为标签,其实就是tp的内置标签,作用是在tp初始化的时候,触发某个行为,在这里设置当然是触发多语言的功能了
'app_begin' => array('Behavior\CheckLangBehavior'),//开启语言功能
);
上面的checkLangBehavior.class.php在tp的内置行为类文件夹下面,截图证明一下先:
这个类和上面那个类是不是一模一样啊?你自己可以进入tp框架的Library/Behavior的文件夹里面看看这个类是否存在,它里面的内容到底是什么,这里就不解析了。
配置好了上面的tags.php之后,我们就必须配置tp的配置文件config.php了
这个config.php就在上面的第一个截图中,你只要在那里添加下面的代码:
'LANG_SWITCH_ON' => true, //开启多语言支持开关
'DEFAULT_LANG' => 'zh-cn', // 默认语言
'LANG_LIST' => 'zh-cn,en-us', // 允许切换的语言列表 用逗号分隔
'LANG_AUTO_DETECT' => true, // 自动侦测语言
配置好这个之后就是多语言的文件配置了,不多说,截图:
下面是配置en-us.php文件中的代码:
<?php
return array(
/* 核心语言变量 */
'_WEB_NAME_' => 'TRAVEL',
'_WELLCOME_' => 'Wellcome here!',
);
zh-cn.php文件中的代码:
<?php
return array(
/* 核心语言变量 */
'_WEB_NAME_' => '来往',
'_WELLCOME_' => '欢迎来往!',
);
下面是我IndexController.class.php的lang方法的代码:
public function lang(){
$wellcome = L('_WELLCOME_');
$this->assign('wellcome', $wellcome);
$this->display();
}
这是我的IndexController.class.php控制器中的lang方法下面的默认模板lang.html,下面就可以做测试了,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Tp语言设置测试</title>
<meta name="keywords" content="关键字列表" />
<meta name="description" content="网页描述" />
<link rel="stylesheet" type="text/css" href="" />
<style type="text/css"></style>
<script type="text/javascript"></script>
</head>
<body>
<p>{$wellcome}</p>
<p>切换到:<a href="?l=zh-cn">简体中文</a> | <a href="?l=en-us">English</a></p>
</body>
</html>
测试结果如下:
你可以点击切换语言,假如出现中英文转化就对了
thinkphp多语言设置的更多相关文章
- thinkphp 多语言支持
ThinkPHP内置多语言支持,如果你的应用涉及到国际化的支持,那么可以定义相关的语言包文件.任何字符串形式的输出,都可以定义语言常量. 要启用多语言功能,需要配置开启多语言行为,在应用的配置目录下面 ...
- jquery.datatables中文语言设置
/* * sErrMode * 错误信息显示方式 * 分别为alert和throw,默认为alert */ "sErrMode": "throw", /* * ...
- Linux - 终端语言设置
查看当前终端用户的语言设置 locale - get locale-specific information : locale |grep LANG 改变当前终端用户的语言设置(临时生效) 中文UTF ...
- yii2多语言设置
yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul> <li> <a href="javascri ...
- iOS 国际化多语言设置 xcode7
iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面 Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...
- Wamp Mysql错误消息 语言设置
Wamp Mysql错误消息 语言设置 http://my.oschina.net/wandershi/blog/264347 打开my.ini 找到 [wampmysqld] port = 33 ...
- Linux改变语言设置的命令
--Linux语言设置--------------2013/09/22Linux中语言的设置和本地化设置真是一个很繁琐的事情,时不时的会出现乱码的情况,在这篇文章中讨论的是shell中出现乱码的一些解 ...
- Visual Studio Code 语言设置
下载Visual Studio Code,下载地址:https://code.visualstudio.com/ 参考官网安装之后,想要设置界面展示语言. 设置参考:https://code.visu ...
- C# 如何更改Word语言设置
一般在创建或者打开一个Word文档时,如果没有进行过特殊设置的话,系统默认的输入语言的是英语输入,但是为适应不同的办公环境,我们其实是需要对文字嵌入的语言进行切换的,因此,本文将介绍如何使用免费版组件 ...
随机推荐
- js 四舍五入保留二位小数
1. 最笨的办法....... [我就怎么干的.........] function get() { var s = 22.127456 + ""; var str = s.sub ...
- centos 编译 安装 protobuf
link:http://dbua.iteye.com/blog/1633079 yum -y install gcc+ gcc-c++ yum -y install make 下载protobuf-2 ...
- 最短路径dijkstra算法
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- NOIp 2013 #3 转圈游戏 Label:模拟
题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此 ...
- BZOJ 1179 Atm 题解
BZOJ 1179 Atm 题解 SPFA Algorithm Tarjan Algorithm Description Input 第一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来 ...
- linux 下如何打开core dump文件开关
dump文件可以在程序crash时,方便我们查看程序crash的地方和上下文信息.在window下,要能生成dump文件,需要自己编写相应的代码.不过现在网上可以找到相应的代码,只要把它下载后然后加到 ...
- mysql in 命令
SQL: select * from table where id IN (3,6,9,1,2,5,8,7); SQL: select * from table where id IN ($str); ...
- 关于Autoit上传文件的问题
Autoit上传文件需要安装两个软件: 使用这个做文件上传时:在代码中需要添加的代码如下: Runtime.getRuntime().exec("d:/zhpg.exe"); D盘 ...
- ckedit 文本编辑器
Ckeditor是一个功能非常强大的富文本编辑器,博客园有使用此编辑器,其功能完全可以与MS的Word媲美. 用起来也非常方便.下面是本人总结的安装步骤: 第一步,从http://ckeditor.c ...
- mysql修改数据表名
在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢? 可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦. 能否简单使用 ...