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实现分页的一个示例
Oct 09 PHP
让PHP支持断点续传的源码
May 16 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
php递归删除目录与文件的方法
Jan 30 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
Symfony2安装的方法(2种方法)
Feb 04 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
PHP Trait功能与用法实例分析
Jun 03 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+javascript模拟Matrix画面
2006/10/09 PHP
php bootstrap实现简单登录
2016/03/08 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
laravel学习教程之关联模型
2016/07/30 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
AJAX的使用方法详解
2017/04/29 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
深入理解js promise chain
2016/05/05 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
python实现nao机器人手臂动作控制
2019/04/29 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
幼儿园教师工作制度
2014/01/22 职场文书
出国留学计划书
2014/04/27 职场文书
党员民主评议自我评价
2014/10/20 职场文书
运动会广播稿20字
2015/08/19 职场文书
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS