thinkPHP多语言切换设置方法详解

 更新时间:2016年11月11日 12:06:07   作者:循环源圈  
这篇文章主要介绍了thinkPHP多语言切换设置方法,结合实例形式较为详细的分析了thinkPHP实现多语言切换功能的具体操作步骤与相关实现技巧,需要的朋友可以参考下

本文实例讲述了thinkPHP多语言切换设置方法。分享给大家供大家参考,具体如下:

thinkphp多语言设置有点‘高大上',为什么说它有点‘高大上'呢?因为本人设置了好久才弄好,而本人之所以弄了好久的原因,竟然是因为‘开启语言设置必须得先开启初始化系统的行为类',所以,在这里,因为本人的经验有限,姑且认为tp的多语言设置必须的先初始化tp的CheckLangBehavior.class.php

怎么初始化CheckLangBehavior.class.php呢?下面进行讲解。

tp框架下面,所有模块初始化CheckLangBehavior.class.php,下面截图:

路径大家应该看得懂吧,就在你的公用模块配置文件config.php那里新建一个tags.php就行了,tags.php的内容如下:

<?php
return array(
//app_begin这个行为标签,其实就是tp的内置标签,作用是在tp初始化的时候,触发某个行为,在这里设置当然是触发多语言的功能了
'app_begin' => array('Behavior\CheckLangBehavior'),//开启语言功能
);

上面的checkLangBehavior.class.php在tp的内置行为类文件夹下面,截图证明一下先:

这个类和上面那个类是不是一模一样啊?你自己可以进入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,  // 自动侦测语言

配置好这个之后就是多语言的文件配置了,不多说,截图:

下面是配置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入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • 详解php中 === 的使用

    详解php中 === 的使用

    很多朋友对于php中的===的使用不是很清楚,今天小编抽时间给大家介绍下php中 === 的使用,非常不错感兴趣的朋友一起学习吧
    2016-10-10
  • 记录mysql性能查询过程的使用方法

    记录mysql性能查询过程的使用方法

    本篇文章介绍了,记录mysql性能查询过程的使用方法。需要的朋友参考下
    2013-05-05
  • PHP 表单提交及处理表单数据详解及实例

    PHP 表单提交及处理表单数据详解及实例

    本文章向大家介绍表单的一些知识点,然后介绍PHP是如何接收表单数据并如何处理表单数据,文章以一个发送邮件的表单实例来向大家讲解表单提交及php如何处理表单数据,需要的朋友可以参考下
    2016-12-12
  • Symfony的安装和配置方法

    Symfony的安装和配置方法

    这篇文章主要介绍了Symfony的安装和配置方法,分析了使用Composer安装Symfony的具体步骤与相关技巧,需要的朋友可以参考下
    2016-03-03
  • Yii数据模型中rules类验证器用法分析

    Yii数据模型中rules类验证器用法分析

    这篇文章主要介绍了Yii数据模型中rules类验证器用法,结合实例形式分析了rules类验证器的简单使用方法,代码注释中包含了相关方法的使用说明,需要的朋友可以参考下
    2016-07-07
  • PHP面向对象详解(三)

    PHP面向对象详解(三)

    这篇文章主要介绍了PHP面向对象详解(三) 的相关资料,需要的朋友可以参考下
    2015-12-12
  • php网站地图生成类示例

    php网站地图生成类示例

    网站地图对于一个网站来说至关重要,网站本身自己创建网站地图并提交给搜索引擎,是更好的方法。这样的话,你可以不受页面数量的限制,并且可以完全控制网站地图的结构信息,这里介绍一个小类,可以很方便的生成网站地图
    2014-01-01
  • Laravel中重写资源路由自定义URL的实现方法

    Laravel中重写资源路由自定义URL的实现方法

    这篇文章主要给大家介绍了关于Laravel中重写资源路由自定义URL的实现方法,需要的朋友可以参考下
    2017-08-08
  • PHP魔术方法以及关于独立实例与相连实例的全面讲解

    PHP魔术方法以及关于独立实例与相连实例的全面讲解

    下面小编就为大家带来一篇PHP魔术方法以及关于独立实例与相连实例的全面讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • PHP Cli 模式设置进程名称的方法

    PHP Cli 模式设置进程名称的方法

    这篇文章主要介绍了PHP Cli 模式设置进程名称的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06

最新评论