Heim >PHP-Framework >YII >So stellen Sie die Sprachumschaltung in yii2 ein

So stellen Sie die Sprachumschaltung in yii2 ein

藏色散人
藏色散人Original
2020-07-20 10:15:392816Durchsuche

Yii2 legt die Methode zum Wechseln der Sprache fest: Konfigurieren Sie zuerst die Komponenten, erstellen Sie dann ein Nachrichtenverzeichnis im selben Verzeichnis wie das Web, in dem die Sprachkonfigurationsdatei gespeichert wird, und schreiben Sie schließlich die Controller-Methode implementieren Einfach die Sprache wechseln.

So stellen Sie die Sprachumschaltung in yii2 ein


Yii2.0 realisiert die Umschaltung mehrerer Sprachen

Empfehlung: „yii-Tutorial

1. Komponenten konfigurieren

'components' => [
        'i18n' => [
            'translations' => [
                '*' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    //'basePath' => '/messages',
                    'fileMap' => [
                        'app' => 'app.php',
                    ],
                ],
            ],
        ],
]

2. Nachrichtenverzeichnis erstellen

Nachrichten im gleichen Ebenenverzeichnis erstellen des Webverzeichnisses speichert dieses Verzeichnis die Sprachkonfigurationsdatei

Create messages/zh-CN/app.php, zh-CN ist die Sprachkennung ( Yii::$app->session['Sprache' ] = 'zh-CN' (d. h. als zh-CN-Sprache konfiguriert), das Sprachkonfigurationsarray wird in app.php gespeichert (der Name von app.php wird durch die Option 'app' beim Konfigurieren der Komponente bestimmt)

Das Folgende ist der Inhalt der app.php-Datei

<?php
return [
    //常用
    &#39;Action&#39; => &#39;操作&#39;,
    &#39;Search&#39; => &#39;搜索&#39;,
    &#39;Reset&#39; => &#39;重置&#39;,
];

3. Es gibt zwei Möglichkeiten, die Sprachumschaltung zu implementieren

:

a:

muss jeden Controller initialisieren (schreiben Sie die Init-Funktion). In der Init-Funktion besteht die Hauptaufgabe darin, Yii::$app->Sprache einen Wert zuzuweisen. Beispiel: Yii::$app->sprache = 'zh-CN'.

b:

Ändern Sie in web/index.php (Eintragsdatei) den Code zum Erstellen der Anwendung in den folgenden Code

$application = new yii\web\Application($config);
$application->language = isset(\Yii::$app->session[&#39;language&#39;]) ? \Yii::$app->session[&#39;language&#39;] : &#39;en&#39;;
$application->run();

4. Schreiben Sie die Controller-Methode. Sprachumschaltung implementieren

public function actionLanguage(){       
    $language=  \Yii::$app->request->get(&#39;lang&#39;);  
    if(isset($language)){  
        \Yii::$app->session[&#39;language&#39;]=$language;  
    }  
    //切换完语言哪来的返回到哪里
    $this->goBack(\Yii::$app->request->headers[&#39;Referer&#39;]);  
}

Um die Sprachumschaltung zu implementieren, rufen Sie diese Methode einfach mit dem Parameter „lang“ auf!

Das obige ist der detaillierte Inhalt vonSo stellen Sie die Sprachumschaltung in yii2 ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn