yii2如何實現國際化

國際化指的是在設計軟件時,使其可以無需做大的改變就能夠適應不同的語言和地區的需要, 這對我們的網站有著特別重要的意義,因為潛在的用戶可能會在全球范圍內。而 YII 提供的國際化功能(i18n組件)支持全方位信息翻譯,視圖翻譯,日期和數字格式化。

yii2如何實現國際化

因為有國際化服務這樣方便的設置,當我們需要實現一個網站以不同的語言展示出來,但又不希望做過多的處理的時候就顯得很方便了。下面講下怎么實現這樣的需求。 ? ?(推薦學習:yii教程

將 i18n 組件配置到配置文件中

需要使用 yii2 中的組件,第一件事當然就是在配置文件中加上該組件的配置了。

'language'?=>?'ru-RU','components'?=>?[ ????//?... ????'i18n'?=>?[ ????????'translations'?=>?[ ????????????'app*'?=>?[ ????????????????'class'?=>?'yiii18nPhpMessageSource', ????????????????//'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',

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享