thinkPHP多语言切换设置方法详解


Posted in PHP onNovember 11, 2016

本文实例讲述了thinkPHP多语言切换设置方法。分享给大家供大家参考,具体如下:

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

怎么初始化CheckLangBehavior.class.php呢?下面进行讲解。

tp框架下面,所有模块初始化CheckLangBehavior.class.php,下面截图:

thinkPHP多语言切换设置方法详解

路径大家应该看得懂吧,就在你的公用模块配置文件config.php那里新建一个tags.php就行了,tags.php的内容如下:

<?php
return array(
//app_begin这个行为标签,其实就是tp的内置标签,作用是在tp初始化的时候,触发某个行为,在这里设置当然是触发多语言的功能了
'app_begin' => array('Behavior\CheckLangBehavior'),//开启语言功能
);

上面的checkLangBehavior.class.php在tp的内置行为类文件夹下面,截图证明一下先:

thinkPHP多语言切换设置方法详解

这个类和上面那个类是不是一模一样啊?你自己可以进入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,  // 自动侦测语言

配置好这个之后就是多语言的文件配置了,不多说,截图:

thinkPHP多语言切换设置方法详解

下面是配置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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
将一维或多维的数组连接成一个字符串的php代码
Aug 08 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
PHP+ajax分页实例简析
Dec 07 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 PHP
PHP7多线程搭建教程
Apr 21 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
php合并数组并保留键值的实现方法
Mar 12 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 #PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 #PHP
php使用高斯算法实现图片的模糊处理功能示例
Nov 11 #PHP
PHP实现的方程求解示例分析
Nov 11 #PHP
php5.3后静态绑定用法详解
Nov 11 #PHP
php基于curl实现的股票信息查询类实例
Nov 11 #PHP
PHP中STDCLASS用法实例分析
Nov 11 #PHP
You might like
基于mysql的bbs设计(二)
2006/10/09 PHP
php中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
smarty表格换行实例
2014/12/15 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python微信公众号开发平台
2018/01/25 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python flask中动态URL规则详解
2019/11/22 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
澳大利亚相机之家:Camera House
2017/11/30 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
物流司机岗位职责
2013/12/28 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
兵马俑的导游词
2015/02/02 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS