ThinkPHP-多語言支持功能使用

1.檢查\ThinkPHP\Extend\Behavior目錄下是否有CheckLangBehavior.class.php文件,沒有的話去下載完整版,並將文件放到此目錄下。php

 

2.修改目錄下文件Application\[模塊/好比Home、Common等等]\Conf\tags.php(沒有此文件的話本身添加)添加配置:html

return array{

   'app_begin' => array('Behavior\CheckLangBehavior'),

);

 

3.修改Application\[模塊]\Conf\config.php文件,添加配置以下:app

return array(
    //'配置項'=>'配置值'
    'LANG_SWITCH_ON' => true,   // 開啓語言包功能
    'LANG_AUTO_DETECT' => true, // 自動偵測語言 開啓多語言功能後有效
    'DEFAULT_LANG' => 'zh-cn', // 默認語言
    'LANG_LIST'        => 'zh-cn,en-us', // 容許切換的語言列表 用逗號分隔
    'VAR_LANGUAGE'     => 'l', // 默認語言切換變量
);

這裏另外補充,通常以上兩個(二、3)都是在Common下配置這個,這樣就不用每一個模塊的配置文件都改。函數

 

4.在目錄Application\[模塊]下添加Lang目錄,並在Lang目錄下,添加zh-cn.php、en-us.php文件,分別在這兩個文件內配置不能的語言this

        /Lang/zh-en.phpcode

        /Lang/en-us.phphtm

 

  好比zh-en.php的配置能夠以下:索引

         

return array(

        ‘_NAME_'=>’甘寶華'

     );

 

     相應的在en-us.php文件內以一樣索引名配置:get

          

return array(

        ‘_NAME_'=>’issac'

     );

 

     ps:配置的索引名不論大小寫,最後都會被TP轉化成大寫。it

 

5.在你須要的controller裏面引入語言包(我的建議在構造函數裏面調用):

         

function _initialize(){

        //L() 是將全部的配置取出

        $this->assign('lang',L());

        /*

          //L(‘_NAME_’)是單獨取出一個

         $this->assign(’name',L(‘_NAME_'));

         */

    }

 

6.在模板(html頁面中使用):

{$lang._NAME_}      

//單取出一個

//{$name}

 

7.模板中多語言的切換:

<a href=「?l=zh-cn">CN</a>

/<a href=「?l=en-us">EN</a>

 

顯然,就是要給get過去一個索引爲l的鍵值對。

相關文章
相關標籤/搜索