您好,登錄后才能下訂單哦!
這篇文章主要介紹了yii2設置切換語言的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
yii2設置切換語言的方法:首先配置組件;然后在web同級目錄下創建messages目錄,此目錄存放語言配置文件;接著給每個controller進行初始化;最后編寫控制器方法,實現語言切換即可。
Yii2.0 實現多語言切換
1.配置組件
'components' => [ 'i18n' => [ 'translations' => [ '*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '/messages', 'fileMap' => [ 'app' => 'app.php', ], ], ], ], ]
2.創建messages目錄
在web同級目錄下創建messages目錄,此目錄存放語言配置文件
創建messages/zh-CN/app.php,zh-CN為語言標識( \Yii::$app->session['language'] = 'zh-CN' 即配置為zh-CN語言),app.php中存放語言配置數組(app.php的名字由配置組件時‘app’選項確定)
下面時app.php文件內容
<?php return [ //常用 'Action' => '操作', 'Search' => '搜索', 'Reset' => '重置', ];
3.實現語言切換
有兩種方法:
a:
需要給每個controller進行初始化(都寫上init函數),在init函數中主要就是給Yii::$app->language 賦值。例如:Yii::$app->language = 'zh-CN'。
b:
在web/index.php(入口文件)中,將創建應用的代碼改為下面的代碼
$application = new yii\web\Application($config); $application->language = isset(\Yii::$app->session['language']) ? \Yii::$app->session['language'] : 'en'; $application->run();
4.編寫控制器方法,實現語言切換
public function actionLanguage(){ $language= \Yii::$app->request->get('lang'); if(isset($language)){ \Yii::$app->session['language']=$language; } //切換完語言哪來的返回到哪里 $this->goBack(\Yii::$app->request->headers['Referer']); }
要想實現語言的切換,只要帶'lang'參數調用此方法就可以了!
感謝你能夠認真閱讀完這篇文章,希望小編分享的“yii2設置切換語言的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。