




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Yii2語(yǔ)言國(guó)際化自動(dòng)配置詳解如何實(shí)現(xiàn)語(yǔ)言國(guó)際自動(dòng)化,大家可能覺(jué)得自動(dòng)化,是不是不需要配置就自動(dòng)切換,這個(gè)思路我之前也想過(guò),能不能根據(jù)IP來(lái)判斷地理位置然后確定其語(yǔ)言,網(wǎng)上找過(guò)一個(gè)"IpToCountry"相關(guān)的,有興趣的可以搜索出來(lái)看看,他會(huì)提供一個(gè)ip對(duì)照的表,每隔一段時(shí)間會(huì)更新一次,不過(guò)這個(gè)暫時(shí)沒(méi)做,后面考慮嘗試下
這里我們說(shuō)下Yii2如何實(shí)現(xiàn),因?yàn)槲覀兩厦娴囊黄恼路窒碜隽苏Z(yǔ)言國(guó)際化的配置,也將對(duì)應(yīng)的語(yǔ)言翻譯了出來(lái),下面就是需要根據(jù)條件來(lái)做切換
從配置文件我們知道只需要更改language這個(gè)配置值就可以了,但是要在哪里更改呢。這里我的操作步驟如下
我想整體對(duì)項(xiàng)目的所有內(nèi)容進(jìn)行語(yǔ)言國(guó)際化,唯一我能想到的是修改控制器,有的說(shuō)是修改入口文件,我覺(jué)得修改入口文件有點(diǎn)破壞框架結(jié)構(gòu)了。
第一步創(chuàng)建一個(gè)AppController
繼承yii/web/Controller,實(shí)現(xiàn)如下
namespaceapp\controllers;
useYii;
useyii\web\Controller;
classAppControllerextendsController
publicfunctioninit()
if(isset(Yii::$app-session['_lang'])){
Yii::$app-language=Yii::$app-session['_lang'];
parent::init();
第二步將所有自己的控制器都繼承AppController
做類似如下操作,我這里只是舉了一個(gè)BlogController的例子
classBlogControllerextendsAppController
第三步實(shí)現(xiàn)設(shè)置多語(yǔ)言的處理
我這里在我的控制器SiteController加了如下Action
publicfunctionactionLanguage($language)
Yii::$app-session['_lang']=$language;
$redirectUrl=Yii::$app-request-headers['Referer'];
if(!$redirectUrl){
$redirectUrl=Yii::$app-homeUrl;
return$this-redirect($redirectUrl);
每次需要修改語(yǔ)言的話,只要將語(yǔ)言傳入actionLanguage,就會(huì)更改session中_lang的值,然后每個(gè)控制器在調(diào)用的時(shí)候都會(huì)先去更改項(xiàng)目的language
第四步前端UI修改
通過(guò)在前端加個(gè)修改的邏輯,方便前端訪問(wèn)者進(jìn)行更改語(yǔ)言設(shè)置
ahref="j#"rel="externalnofollow"data-target="#"data-toggle="dropdown"
{{Yii.t('app','Language')}}
b/b
class="{%ifapp.session['_lang']=='zh-CN'%}active{%endif%}"
href="{{url(['site/language'],{'language':'zh-CN'})}}"rel="externalnofollow"
{{Yii.t('app','Chinese')}}/a
/li
class="{%ifapp.session['_lang']=='en-US'%}active{%endif%}"
href="{{url(['site/language'],{'language':'en-US'})}}"rel="externalnofollow"
{{Yii.t('app','English')}}/a
/li
/ul
/li
/ul
我這里使用的Twig模板。
到這里就都設(shè)置完了,可以正常切換語(yǔ)言了。后面如果又加了新的內(nèi)容進(jìn)去的話,可以直接執(zhí)行上文中提到的命令
./yiimessage/extract@app/config/i18n.php
如有不理解的地方可以加群詳細(xì)了解
ps:使用yii生成映射目錄
./yiimessage/extract@app/config/i18n.php
使用以上命令,實(shí)際上就是按照i18n.php中給定的參數(shù),執(zhí)行掃描操作,將所有形如Yii::t('app','xxx')這樣語(yǔ)句中的xxx取出,放入映射文件中。
這時(shí),在common/messages中會(huì)有zh-CN文件夾生成,里面的app.php即為映射文件。
app.php
return[
'OpenId'='OpenId',
'UserId'='用戶id',
'UserName'='用戶名',
'UserPortrait'='用戶頭像',
'About'='關(guān)于我們',
'Areyousureyouwanttodeletethisitem'='確定要?jiǎng)h除?',
'Contact'='聯(lián)系方式',
'Create'='創(chuàng)建',
'CreateMyuser'='創(chuàng)建用戶',
'Delete'='刪除',
'Home'='首頁(yè)',
'Login'='登錄',
'MyCompany'='我的網(wǎng)站',
'Myusers'='用戶',
'Res
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIQA 87-2024煤和焦炭試驗(yàn)配比和結(jié)果計(jì)算方法
- 官方的室內(nèi)裝修施工合同3篇
- 擔(dān)保合同擔(dān)保合同(一)6篇
- 精裝房屋抵押借貸合同10篇
- 新建鐵路工程勞務(wù)協(xié)作合同3篇
- 鋼增強(qiáng)塑料復(fù)合管項(xiàng)目績(jī)效評(píng)估報(bào)告
- 高效節(jié)能電動(dòng)機(jī)項(xiàng)目績(jī)效評(píng)估報(bào)告
- 小學(xué)第33個(gè)愛(ài)國(guó)衛(wèi)生月主題活動(dòng)
- 服裝設(shè)計(jì)高端時(shí)尚
- 兒歌表演唱教學(xué)設(shè)計(jì)
- 2025眼鏡行業(yè)市場(chǎng)分析報(bào)告
- GB/T 17642-2025土工合成材料非織造布復(fù)合土工膜
- 河南省鄭州市2025屆中考二模 數(shù)學(xué)試卷(含答案)
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 數(shù)學(xué)試卷(含答案詳解)
- GB/T 24630.2-2024產(chǎn)品幾何技術(shù)規(guī)范(GPS)平面度第2部分:規(guī)范操作集
- 應(yīng)急預(yù)案演練記錄表
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- 市政工程安全施工組織設(shè)計(jì)
- 雙橫臂獨(dú)立懸架設(shè)計(jì)
- 華為流程審計(jì)方法論共83頁(yè)文檔課件
- 單元式多層住宅設(shè)計(jì)圖
評(píng)論
0/150
提交評(píng)論