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 18 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
php使用session二维数组实例
Nov 06 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
Symfony2联合查询实现方法
Mar 18 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
Laravel 添加多语言提示信息的方法
Sep 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实现用户注册密码的crypt加密
2017/06/08 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
详解python调度框架APScheduler使用
2017/03/28 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
python已协程方式处理任务实现过程
2019/12/27 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
Unix控制后台进程都有哪些进程
2016/09/22 面试题
研讨会主持词
2014/04/02 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
超市食品安全承诺书
2015/04/29 职场文书
升学宴家长答谢词
2015/09/29 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书