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 删除记录实现代码
Mar 12 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
如何在smarty中增加类似foreach的功能自动加载数据
Jun 26 PHP
php调用c接口无错版介绍
Mar 11 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
Jun 25 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
PHP7之Mongodb API使用详解
Dec 26 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 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 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php include类文件超时问题处理
2015/02/06 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
php mysql 封装类实例代码
2016/09/18 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
js实现随机点名程序
2020/09/17 Javascript
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
python实现画圆功能
2018/01/25 Python
Flask之flask-session的具体使用
2018/07/26 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
汽修专业自荐信
2014/07/07 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
英文慰问信
2015/02/14 职场文书
关于五一放假的通知
2015/08/18 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript