yii2 언어 전환 방법을 설정합니다. 먼저 구성 요소를 구성한 다음 웹의 동일한 수준 디렉터리에 메시지 디렉터리를 만듭니다. 이 디렉터리에는 언어 구성 파일이 저장됩니다. 그런 다음 마지막으로 각 컨트롤러를 초기화하여 언어를 구현합니다. 스위칭.
Yii2.0은 다중 언어 전환을 구현합니다
권장: "yii 튜토리얼"
1 구성 요소 구성
'components' => [ 'i18n' => [ 'translations' => [ '*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '/messages', 'fileMap' => [ 'app' => 'app.php', ], ], ], ], ]
2.
와 유사 web 디렉토리 아래에 메시지 디렉토리를 생성합니다. 이 디렉토리는 언어 구성 파일을 저장합니다. 생성 메시지/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. 구현 언어를 전환하는 방법에는 두 가지가 있습니다. a: 각 컨트롤러를 초기화해야 합니다(init 함수 작성). 함수에서는 주로 Yii::$app->언어에 값을 할당하는 것입니다. 예: Yii::$app->언어 = '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에서 언어 전환을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!