> 多語言支持解決方案有兩種,第一種是分別創建英文站欄目+英文站模板,切換的時候,只需要進入對應的語言模板中即可展現其他語言的內容;第二種是通過配置多語言包實現,該方法實現比較繁瑣復雜,但也是一些軟件系統通用的解決方法。下面我就逐一寫一下教程吧。
# 方案一:根據需要創建英文欄目+英文模板(更多其他語言支持同理)
* * *
**舉例:實現中英文雙語網站**
1. 網站欄目設置:
* 中文
* 關于我們
* 公司簡介
* 聯系我們
* 產品介紹
* English
* about
* company
* contact
* product
2. 我們創建兩個首頁:`index.html``en.html`
將對應的中文欄目輸出到`index.html`中,英文欄目輸出到`en.html`中,兩個頁面結構一樣,只不過欄目不同而已。同理欄目頁,內容頁也是一樣。
3. 后臺錄入資料的時候,分別在對應的欄目錄入,從而實現中文內容在中文站,英文內容在英文站。
4. 切換的時候也容易處理,只需要把對應欄目的鏈接給出來就可以直接跳轉過去,其實也挺方便的。
5. 這樣就簡單實現了雙語網站了
# 方案二:通過配置多語言包實現多語言
* * *
**舉例:實現中英文雙語網站**
1. 配置多語言包
`Home/lang`文件夾下面存放語音包文件
`common.php`公共語言包,定義多語言同義的內容
`zh_cn.php`默認中文語言包,定義中文語言包對應的內容
~~~
return [
// '公共字符串' => '對應語言包內的釋義';
'JIZHI' => '極致CMS',
];
~~~
`公共字符串`每種語言都需要配置對應的釋義
**注意**:`common.php`里面如果定義了公共字符串,而語言包文件里又定義了一遍,那么`common.php`文件里的內容將被忽略,以語言包文件內的為準
2\. 前臺輸出內容
~~~
// {fun JZLANG('公共字符串')}
舉例:{fun JZLANG('JIZHI')}
~~~
3. 如何切換不同語言?
~~~
http://域名/?l=zh_cn
~~~
`l`為小寫的L
`zh_cn`為語言包文件名(這個文件名可以自由定義,不限制)
4\. 如何設置`l`及默認的語言包(zh\_cn)
在入口文件`index.php`進行定義切換語言包參數及默認語言包
(如果不更改,請不要添加如下內容)
~~~
//定義項目默認語言包接收參數(小寫的L)
define('APP_LANG_REQUREST','l');
//默認當前語言,zh_cn中文簡體,其他自定義
define('APP_LANG','zh_cn');
~~~
上面定義的字符串,可以自行更改,系統默認上面的一樣。
- 引言
- 條款
- 開始使用
- 模板標簽
- 公共配置
- 系統配置
- 自定義配置
- 網站欄目
- 全局欄目屬性
- 導航欄相關
- 當前欄目下的直系下級
- 當前欄目下的直系上級
- 欄目詳情頁
- 欄目列表頁
- 欄目分頁
- 輸出三級及三級以上欄目
- 當前位置面包屑
- 獲取當前欄目的頂級欄目
- 直播講解欄目相關
- 文章詳情頁
- 基本內容
- 點贊
- 收藏
- 相關文章
- 輸出新增字段
- 商品詳情頁
- 基本內容
- 輸出新增字段
- 商品圖集
- 點贊
- 收藏
- *點評星星
- 加入購物車
- *評論
- 相關商品
- 自定義字段
- 原樣輸出
- 單選字段
- 多選字段
- loop標簽
- 通用說明
- loop分頁
- 案例說明
- like使用
- 怎么判斷loop沒有數據
- limit使用
- day參數
- table缺省參數
- 單選多選相關
- 單選字段輸出
- 多選字段輸出
- 特殊輸出
- 輸出換行
- 替換字符串
- 輸出被解析的HTML原句
- 截取字符串
- 內容body去除HTML
- 分割字符輸出
- foreach標簽
- for標簽
- fun標簽
- php標簽
- 不解析標簽
- if..else..標簽
- screen篩選標簽
- 客戶端判斷
- 輪播圖
- 友情鏈接
- 自定義圖集輸出
- Tags標簽調用及使用說明
- 網站留言調用
- 自定義單頁
- 系統架構
- 高級功能
- ajax數據交互
- ajax在欄目頁的應用
- ajax在screen篩選中的應用
- screen多選篩選
- Message留言表單
- 萬能表單
- 多語言支持
- 系統高級配置說明
- 網站動態鏈接
- 郵件發送
- 插件開發
- 控制器方法覆蓋(cover)[簡單]
- 控制器方法鉤子(hook)[復雜]
- 制成后臺安裝插件
- 附錄
- 時間
- 富文本編輯器導航
- 版本更新