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

So stellen Sie die Sprachumschaltung in yii2 ein

藏色散人
Freigeben: 2020-07-20 10:15:39
Original
2768 Leute haben es durchsucht

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',
                    ],
                ],
            ],
        ],
]
Nach dem Login kopieren

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;,
];
Nach dem Login kopieren

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();
Nach dem Login kopieren

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;]);  
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage