國際化指的是在設計軟體時,使其可以無需做大的改變就能夠適應不同的語言和地區的需要, 這對我們的網站有著特別重要的意義,因為潛在的用戶可能會在全球範圍內。而 Yii 提供的國際功能(i18n組件)支援全方位資訊翻譯,視圖翻譯,日期和數字格式化。
因為有國際化服務這樣方便的設置,當我們需要實作一個網站以不同的語言展示出來,但又不希望做過多的處理的時候就顯得很方便了。下面講怎麼實現這樣的需求。 (推薦學習:yii教學)
將i18n 元件配置到設定檔中
需要使用yii2 中的元件,第一件事當然就是在設定檔中加上該元件的配置了。
'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', ], ], ], ],],
以上是開發文件中的設定。這裡的設置的關鍵在於兩個語言設置,即sourceLanguage(源語言) 和language(目標語言) 的設置,該翻譯服務就是將網站從源語言翻譯成目標語言的實現,其中目標語言是可以隨時更改的。
// 改变目标语言为中文\Yii::$app->language = 'zh-CN';
預設的來源語言是美語,而 basePath 參數是映射檔案的位置,@app 指的就是根目錄,如果是放在其他地方,例如 backend 模組下就改成
'basePath' => '@backend/messages',
以上是yii2如何實現國際化的詳細內容。更多資訊請關注PHP中文網其他相關文章!