很多公司面向全球服務(wù),網(wǎng)站多語言就成了必選項(xiàng),那么如何實(shí)現(xiàn)網(wǎng)站多語言呢?
ThinkPHP作為國內(nèi)非常流行的PHP網(wǎng)站開發(fā)框架,其實(shí)他已經(jīng)內(nèi)置集成了多語言的功能,只要我們按照要求配置就行了。
首先,在中間件配置文件middleware.php中啟用,注意,如果是多應(yīng)用模式,則需要使用的應(yīng)用里加載。如下代碼所示:
return [
// 多語言加載
\think\middleware\LoadLangPack::class,
];
其次,配置好多語言配置文件lang.php,如下代碼所示
return [
// 默認(rèn)語言
'default_lang' => env('lang.default_lang', 'en-us'),
// 允許的語言列表
'allow_lang_list' => ['en-us','zh-cn','zh-hk'],
// 多語言自動(dòng)偵測變量名,可通過URL參數(shù)判斷使用哪個(gè)語言
'detect_var' => 'lang',
// 是否使用Cookie記錄
'use_cookie' => true,
// 多語言cookie變量,通過保存這個(gè)cookie記錄用戶選項(xiàng)
'cookie_var' => 'think_lang',
// 多語言header變量
'header_var' => 'think-lang',
// 擴(kuò)展語言包,主要是分多個(gè)語言文件的時(shí)候使用
'extend_list' => [
'en-us' => [
app()->getAppPath() . 'home\lang\en-us\common.php',
app()->getAppPath() . 'home\lang\en-us\index.php'
],
'zh-cn' => [
app()->getAppPath() . 'home\lang\zh-cn\common.php',
app()->getAppPath() . 'home\lang\zh-cn\index.php'
],
'zh-hk' => [
app()->getAppPath() . 'home\lang\zh-hk\common.php',
app()->getAppPath() . 'home\lang\zh-hk\index.php'
],
],
// Accept-Language轉(zhuǎn)義為對(duì)應(yīng)語言包名稱
'accept_language' => [
'zh-hans-cn' => 'zh-cn',
],
// 是否支持語言分組
'allow_group' => true
];
再次,編寫多語言翻譯文件。如下圖所示,主要以PHP數(shù)組方式,可分組配置,每個(gè)語言版本變量一致。
最后,綁定語言變量到模板,并通過URL切換語言
綁定變量如:{$Think.lang.site_menu_home}
切換語言只需要在URL后面加上參數(shù)lang,如:index.php?lang=zh-en
是不是很簡單?如下所示可實(shí)現(xiàn)
方維網(wǎng)絡(luò)專注于高端網(wǎng)站定制和小程序開發(fā),為客戶提供周到的網(wǎng)絡(luò)服務(wù),如有需求,歡迎咨詢400-800-9385
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://m.oulysa.com/news/6532.html