yii2에서 다중 언어 패키지를 전환하는 방법
1. 구성 요소 구성
'components' => [ 'i18n' => [ 'translations' => [ '*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '/messages', 'fileMap' => [ 'app' => 'app.php', ], ], ], ], ]
2. 메시지 디렉터리 생성
이 디렉터리는 언어 구성을 저장합니다. files
메시지/zh-CN/app.php를 생성합니다. zh-CN은 언어 식별자입니다(Yii::$app->session['언어'] = 'zh-CN', 즉 zh- CN 언어), app.php 언어 구성 배열이 저장됩니다. (app.php 이름은 컴포넌트 구성 시 'app' 옵션에 따라 결정됩니다.)
다음은 app.php 파일의 내용입니다
<?php return [ //常用 'Action' => '操作', 'Search' => '搜索', 'Reset' => '重置', ];
3. 언어 전환을 구현하는 방법에는 두 가지가 있습니다.
$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에서 다국어 패키지를 전환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!