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 相关文章推荐
PHP数字格式化
Dec 06 PHP
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
PHP使用标准库spl实现的观察者模式示例
Aug 04 PHP
PHP 文件上传限制问题
Sep 01 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
Laravel实现批量更新多条数据
Apr 06 PHP
PHP中echo与print区别点整理
Mar 09 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
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
js中less常用的方法小结
2017/08/09 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
详解js类型判断
2018/05/22 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
一篇文章快速了解Python的GIL
2018/01/12 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
python中类与对象之间的关系详解
2020/12/16 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
销售副总经理岗位职责
2013/12/11 职场文书
个人简历自我评价
2014/01/06 职场文书
军训学生自我鉴定
2014/02/12 职场文书
学校火灾防控方案
2014/06/09 职场文书
服务员岗位职责
2015/02/03 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
股东协议书范本2016
2016/03/21 职场文书
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS