<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 多語言開發 ## 概述 ThinkCMF已經默認開啟了多語言的支持,后臺以語言包形式實現多語言,前臺以語言包和多模板的形式實現多語言. ######語言包 ThinkCMF開啟的語言有三個,分別是zh-cn,en-us,zh-tw,此項配置在application/Common/Conf/config.php配置文件下,可以通過更改`LANG_LIST`的值增加語言. 語言包分為框架核心語言包(在simplewind/Core/Lang目錄下)和應用語言包(在每個應用的Lang目錄下,如application/Portal/Lang),根據你設置的語言列表,在這些地方增加相應的語言包,就實現了多語言. 應用語言包具體位置說明: | 語言包 | 文件位置 | 加載時間| | ---------- | ------------- | ---------------| | 應用公共語言包 | application/Common/Lang/語言.php | 都加載 | | 應用語言包 | application/應用名/Lang/語言.php | 只在訪問應用時加載| | 應用控制器語言包 | application/應用名/Lang/語言目錄/語言.php| 只在訪問控制器下方法時加載 | 應用控制器后臺菜單語言包| application/應用名/Lang/語言目錄/admin_menu.php| 登錄后臺首頁,和訪問后臺控制器時加載| ######語言文件定義 1.語言文件格式為PHP返回數組形式,如: ```php return array( 'ADMIN_CENTER' => 'Admin Center', 'WELCOME_USER' => 'Welcome, {$username}!', 'REFRESH_CURRENT_PAGE' => 'Refresh Current Page', 'WEBSITE_HOME_PAGE' => 'Website Home Page' ); ``` 2.也可以在代碼中動態設置 ```php L('ADMIN_CENTER','后臺管理中心'); $lang_admin_center = L('ADMIN_CENTER'); ``` ######變量傳入支持 1.在定義語言包時也支持變量,如: ```php return array( 'WELCOME_USER' => 'Welcome, {$username}!', ); ``` 2.在使用 L 方法獲取時,可以傳入$username 變量,如: ```php $lang_welcome_user = L('WELCOME_USER',array('username'=>'無敵小夏')); echo $lang_welcome_user; // 這里輸出的字符串就是:Welcome,無敵小夏! ``` ######獲取語言包設置的值 1.在PHP代碼里使用 L 方法,如: ```php $lang_admin_center = L('ADMIN_CENTER'); echo $lang_admin_center; // 這里輸出的值是:Admin Center ``` 2.在模板里使用 L 方法,如: ```php <!--以下輸出的字符串也是:Admin Center--> {:L('ADMIN_CENTER')} <!--以下輸出的字符串也是:Welcome,無敵小夏!--> {:L('WELCOME_USER',array('username'=>'無敵小夏'))} ``` ### 前臺模板多語言 ThinkCMF前臺模板多語言是使用多模板的方式來實現的,如:當前模板是`simplebootx`,如果想開啟英文前臺模板的話,就只要加一個模板名為 `simplebootx_en-us`模板就可以了; ###### 前臺模板多語言實現原理: ThinkCMF在前臺控制器加載模板文件時,會根據當前用戶的瀏覽器語言或者用戶指定的語言來加載模板文件,如果是中文用戶就加載 simplebootx 里的模板文件,如果是英文用戶就加載 simplebootx_en-us 里的模板文件;每個模板里數據調用是獨立的,你可以在不同模板里做不同的配置,以調用不同的語言的內容; ###### 為什么選用多模板形式實現前臺多語言? 很多用戶會疑問,這不是會增加維護的難度嗎?為什么不用語言包的形式呢? 維護難度當然會增加,做一個模板和做兩個模板是不一樣的時間,但你想英文模板和中文模板無論從內容還風格都有可能會不同,一個模板,你要考慮很多布局上兼容的問題,同時,如果想對不同語言的用戶做不同的體驗上的界面設計,一個模板肯定無法滿足,所以多模板形式才是前臺多語言最好的選擇,當然你在模板里也可以使用應用里設置的語言包.
                  <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>

                              哎呀哎呀视频在线观看