最近專案比較忙,就沒有怎麼寫文章。本文主要內容為多語言的後台是如何實現的。
#公司需要寫一個多語言後台,以前也沒做過,於是到面向百度了一下。這是用了TP框架兩個年了,第一次發現框架是自帶的多語言切換功能。這裡著實給點一個讚。
接下來我們來實作一下這個功能。
#使用框架為v5. 1.38 LTS
來到設定檔config/app.php
可以看到關於語言的設定資訊就只有這兩個參數。
lang_switch_on
這個參數是自動監聽的瀏覽器語言,
default_lang關於這個參數就是在沒有切換其它語言之前就直接預設中文設定檔了解之後我們需要在需要的模組建立lang目錄,並且配置對應語言的語言包。
這裡咔咔只配置了英文和中文 如還需要其它語言可自行添加即可。 到這一步驟你會發現從頭到尾都沒有一個參數說是配置語言清單的參數。設定檔也沒有找到。
但是在文件裡你可以看到這行程式碼。我們去原始碼看看
在原始碼中就可以看得明白,語言的cookie的name值也是固定的,並且cookie的有效期時間為3600,這些都是需要根據自己項目進行調整的。
最重要的是看允許語言清單。我們繼續追溯這個變數在檔案thinkphp/library/think/Lang.php
最後我們就可以看到一個方法,這個方法也正是文件給出的一個方法由於我們整個後台都需要使用多語言,所以我們需要在common中進行設定
languageChange方法
在視圖中有一個變數為$languageName,這個變數是咔咔直接從設定檔直接取出的,後期會調整到資料庫中。
然後在控制器寫入方法changeLanguage
,用來處理語言切換後的cookie改變此時我們的後台頁面就是這樣的
#在經過上面的操作之後,我們就可以根據自己設定的語言包來進行語言切換了
在模板中我們就需要使用lang這個模板標籤進行獲取資料這個是英文狀態這個是中文狀態到這關於多語言的實作就完成了。
上面說了這麼多,只是把每一步的步驟寫出來給大家了。
其中關鍵點如下
application/config.php
設定檔修改堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望諾大互聯網中咔咔的文章能帶給你一絲幫助。
以上是ThinkPHP多語言如何實現你了解嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!