這篇文章將為大家詳細(xì)講解有關(guān)yii2實(shí)現(xiàn)國(guó)際化的示例,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
國(guó)際化指的是在設(shè)計(jì)軟件時(shí),使其可以無需做大的改變就能夠適應(yīng)不同的語(yǔ)言和地區(qū)的需要, 這對(duì)我們的網(wǎng)站有著特別重要的意義,因?yàn)闈撛诘挠脩艨赡軙?huì)在全球范圍內(nèi)。而 Yii 提供的國(guó)際化功能(i18n組件)支持全方位信息翻譯,視圖翻譯,日期和數(shù)字格式化。
因?yàn)橛袊?guó)際化服務(wù)這樣方便的設(shè)置,當(dāng)我們需要實(shí)現(xiàn)一個(gè)網(wǎng)站以不同的語(yǔ)言展示出來,但又不希望做過多的處理的時(shí)候就顯得很方便了。下面講下怎么實(shí)現(xiàn)這樣的需求。
將 i18n 組件配置到配置文件中
需要使用 yii2 中的組件,第一件事當(dāng)然就是在配置文件中加上該組件的配置了。
'language' => 'ru-RU','components' => [ // ... 'i18n' => [ 'translations' => [ 'app*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '@app/messages', //'sourceLanguage' => 'en-US', 'fileMap' => [ 'app' => 'app.php', 'app/error' => 'error.php', ], ], ], ],],
以上是開發(fā)文檔中的配置。這里的設(shè)置的關(guān)鍵在于兩個(gè)語(yǔ)言設(shè)置,即 sourceLanguage(源語(yǔ)言) 和 language(目標(biāo)語(yǔ)言) 的設(shè)置,該翻譯服務(wù)就是將網(wǎng)站從源語(yǔ)言翻譯成目標(biāo)語(yǔ)言的實(shí)現(xiàn),其中目標(biāo)語(yǔ)言是可以隨時(shí)更改的。
// 改變目標(biāo)語(yǔ)言為中文\Yii::$app->language = 'zh-CN';
默認(rèn)的源語(yǔ)言是美語(yǔ),而 basePath 參數(shù)是映射文件的位置,@app 指的就是根目錄,如果是放在其他地方,例如 backend 模塊下就改成
'basePath' => '@backend/messages',
關(guān)于yii2實(shí)現(xiàn)國(guó)際化的示例就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。