<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 多語言支持 [上一頁](# "上一頁")[下一頁](# "下一頁") ThinkPHP內置多語言支持,如果你的應用涉及到國際化的支持,那么可以定義相關的語言包文件。任何字符串形式的輸出,都可以定義語言常量。 要啟用多語言功能,需要配置開啟多語言行為,在應用的配置目錄下面的行為定義文件tags.php中,添加: ~~~ return array( // 添加下面一行定義即可 'app_begin' => array('Behavior\CheckLang'), // 如果是3.2.1版本 需要改成 // 'app_begin' => array('Behavior\CheckLangBehavior'), ); ~~~ 表示在`app_begin`標簽位置執行多語言檢測行為。 要開啟語言包功能,需要開啟 ~~~ 'LANG_SWITCH_ON' => true, // 開啟語言包功能 ~~~ 其他的配置參數包括: ~~~ 'LANG_AUTO_DETECT' => true, // 自動偵測語言 開啟多語言功能后有效 'LANG_LIST' => 'zh-cn', // 允許切換的語言列表 用逗號分隔 'VAR_LANGUAGE' => 'l', // 默認語言切換變量 ~~~ 可以為項目定義不同的語言文件,框架的系統語言包目錄在系統框架的Lang目錄下面,每個語言都對應一個語言包文件,系統默認只有簡體中文語言包文件zh-cn.php和英文語言包en-us.php ,如果要增加繁體中文zh-tw或者其他語言支持,只要增加相應的語言定義文件。 語言包的使用由系統自動判斷當前用戶的瀏覽器支持語言來定位,如果找不到相關的語言包文件,會使用默認的語言。如果瀏覽器支持多種語言,那么取第一種支持語言。 ThinkPHP的多語言支持是指的是模板多語言支持,數據的多語言轉換(翻譯)不在這個范疇之內。ThinkPHP具備語言包定義、自動識別、動態定義語言參數的功能。并且可以自動識別用戶瀏覽器的語言,從而選擇相應的語言包(如果有定義)。例如: ~~~ throw_exception('新增用戶失敗!'); ~~~ 我們在語言包里面增加了`ADD_USER_ERROR`語言配置變量的話,在程序中的寫法就要改為: ~~~ throw_exception(L('ADD_USER_ERROR')); ~~~ 也就是說,字符串信息要改成L方法和語言定義來表示。 應用語言包文件位于應用公共模塊下的Lang目錄,并且按照語言類別分子目錄存放,在執行的時候系統會自動加載,無需手動加載。 具體的語言包文件命名和位置如下: | 語言包 | 語言文件位置 | |-----|-----| | 應用語言包 | 應用公共目錄/Lang/語言文件.php | | 模塊語言包 | 模塊目錄/Lang/語言文件.php | | 控制器語言包 | 模塊目錄/Lang/語言目錄/控制器名(小寫).php | 以當前模塊為Home、當前語言為zh-cn為例,我們可以讀取語言包的順序如下(如果沒有定義則不讀取): ~~~ ThinkPHP/Lang/zh-cn.php 框架底層語言包 Application/Common/Lang/zh-cn.php 應用公共語言包 Application/Home/Lang/zh-cn.php Home模塊語言包 Application/Home/Lang/zh-cn/user.php Home模塊的User控制器語言包 ~~~ 語言子目錄采用瀏覽器的語言命名(全部小寫)定義,例如English (United States) 可以使用en-us作為目錄名。如果項目比較小,整個項目只有一個語言包文件,那可以定義應用的公共語言文件即可,而無需按照模塊分開定義。 ### 語言文件定義 ThinkPHP語言文件定義采用返回數組方式: ~~~ return array( 'lan_define'=>'歡迎使用ThinkPHP', ); ~~~ 也可以在程序里面動態設置語言定義的值,使用下面的方式: ~~~ L('define2','語言定義'); $value = L('define2'); ~~~ 通常多語言的使用是在控制器里面,但是模型類的自動驗證功能里面會用到提示信息,這個部分也可以使用多語言的特性。例如原來的方式是把提示信息直接寫在模型里面定義: ~~~ array('title','require','標題必須!',1), ~~~ 如果使用了多語言功能的話(假設,我們在當前語言包里面定義了' lang_var'=>'標題必須!'),就可以這樣定義模型的自動驗證 ~~~ array('title','require','{%lang_var}',1), ~~~ 如果要在模板中輸出語言變量不需要在控制器中賦值,可以直接使用模板引擎特殊標簽來直接輸出語言定義的值: ~~~ {$Think.lang.lang_var} ~~~ 可以輸出當前選擇的語言包里面定義的 `lang_var`語言定義。 ### 變量傳入支持 **3.2.2版本**開始,語言包定義的時候支持傳入變量,例如: ~~~ 'FILE_FORMAT' => '文件格式: {$format},文件大小:{$size}', ~~~ 在模板中輸出語言字符串的時候傳入變量值即可: ~~~ {:L('FILE_FORMAT',array('format' => 'jpeg,png,gif,jpg','maximum' => '2MB'))} ~~~ [上一頁](# "上一頁")[下一頁](# "下一頁")
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看