ThinkPHP多语言支持与多模板支持概述


Posted in PHP onAugust 22, 2014

本文以实例形式简述了ThinkPHP的多语言支持与多模板支持。是ThinkPHP中非常重要的技巧,分享给大家供大家参考。具体如下:

一、ThinkPHP多语言支持:

config.php配置文件中添加:

//多语言支持设置
'LANG_SWITCH_ON'=>true,
'DEFAULT_LANG'=>'zh-cn',
'LANG_AUTO_DETECT'=>true,
'LANG_LIST'=>'en-us,zh-cn,zh-tw',

Home/Lang/文件夹下建立三个文件夹,分别为zh-cn ,en-us ,zh-tw 分别代表简体中文,英文,繁体中文

文件夹下可以建立与模板对应的文件,或者公用文件common.php

zh-cn/common.php页面如下:

<?php
return array(
 'welcome'=>'你好',
 'lan'=>'简体中文', 
);
?>

en-us/common.php页面如下:

<?php
return array(
 'welcome'=>'how are you fine?',
 'lan'=>'english', 
);
?>

zh-tw/common.php页面如下:

<?php
return array(
 'welcome'=>'你好',
 'lan'=>'??中文', 
);
?>

模板index.php代码如下:

欢迎:{$Think.lang.welcome} 语言:{$Think.lang.lan}
<a href="?l=zh-cn" rel="external nofollow" >简体中文</a>
<a href="?l=en-us" rel="external nofollow" >english</a>
<a href="?l=zh-tw" rel="external nofollow" >繁?中文</a>

或者在Action的方法里直接定义:L('demo','测试');这样,在模板里就可以直接应用了:{$Think.lang.demo}
对于在模型中,比如有:array('uname','require','用户名必填');可以这么用:array('uname','require','%name');

二、ThinkPHP多模板支持:

config.php配置文件中添加:

//多模板支持
 'TMPL_SWITCH_ON'=>true,
 'TMPL_DETECT_THEME'=>true,

/Home/Tpl/下建立其它皮肤文件夹,比如文件夹red,其中的文件与default文件中的一样。

在模板文件中添加:

<a href="?t=red" rel="external nofollow" >红</a>
<a href="?t=default" rel="external nofollow" >默认</a>

相信本文所述实例对大家ThinkPHP学习和开发有所帮助。

PHP 相关文章推荐
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
PHP的5个安全措施小结
Jul 17 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
PHP实现的购物车类实例
Jun 17 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
Jun 19 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
浅析PHP开发规范
Feb 05 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
ThinkPHP中的三大自动简介
Aug 22 #PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 #PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 #PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 #PHP
PHP中new static()与new self()的区别异同分析
Aug 22 #PHP
PHP中的替代语法简介
Aug 22 #PHP
destoon供应信息title调用出公司名称的方法
Aug 22 #PHP
You might like
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
2017/04/03 PHP
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
python tkinter控件布局项目实例
2019/11/04 Python
python能自学吗
2020/06/18 Python
Python join()函数原理及使用方法
2020/11/14 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
Python里面search()和match()的区别
2016/09/21 面试题
三好学生自我鉴定
2013/12/17 职场文书
婚庆司仪主持词
2014/03/15 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android
React更新渲染原理深入分析
2022/12/24 Javascript