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 新手入门教程
Aug 03 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
解析php中反射的应用
Jun 18 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
destoon数据库表说明汇总
Jul 15 PHP
php实现的九九乘法口诀表简洁版
Jul 28 PHP
PHP获取数组最大值下标的方法
May 12 PHP
学习php设计模式 php实现适配器模式
Dec 07 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
php app支付宝回调(异步通知)详解
Jul 25 PHP
PDO::query讲解
Jan 29 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
php foreach、while性能比较
2009/10/15 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
Python的装饰器使用详解
2017/06/26 Python
Python中turtle作图示例
2017/11/15 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
Python画图高斯分布的示例
2019/07/10 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
日语系毕业生推荐信
2013/11/11 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
被告代理词范文
2015/05/25 职场文书
大学生活感想
2015/08/10 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL