本文以實例形式簡述了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
return array(
'LANG_SWITCH_ON' => true,
'DEFAULT_LANG' => 'zh-cn', // 默認語言
'LANG_AUTO_DETECT' => true, // 自動偵測語言
'LANG_LIST'=>'en-us,zh-cn,zh-tw'//必須寫可允許的語言列表
);
?>
在thinkphp官方下載thinkphp3.0 完整版 然後有個exmples/lang有例子 你還是看看
說也不好說 你看例子就懂了
一般情況更換語言包就行了,我想你的英文和中文的模板相差比較多吧
比較簡單的辦法在index.php中加上如下代碼:
if (isset($_GET['l'])) { $_GET['t'] = $_GET['l'];}另外記得配置文件裡需要加上如下配置
'DEFAULT_THEME' => 'default','TMPL_DETECT_THEME' => true, // 自動偵測模板主題模板切換事例:
www.thinkphp.cn/extend/234.html