Im Zuge der Globalisierung müssen immer mehr Websites und Anwendungen mehrere Sprachen unterstützen, um multinationale Benutzer und Kunden anzulocken. ThinkPHP6 bietet leistungsstarke Internationalisierungsfunktionen, die es Entwicklern ermöglichen, die Unterstützung mehrerer Sprachen einfach zu implementieren. In diesem Artikel werden die Schritte und Techniken zur Verwendung der Internationalisierung in ThinkPHP6 vorgestellt.
In ThinkPHP6 dient das Sprachpaket dazu, alle Texte, die in der Anwendung übersetzt werden müssen, zu klassifizieren und in bestimmten Dateien zu speichern, damit unsere Anwendung problemlos die Sprachversion wechseln kann. In der Datei app.php im Konfigurationsverzeichnis gibt es die Option „lang_switch_on“. Wir setzen sie auf „true“, um die Sprachpaketfunktion zu aktivieren.
'lang_switch_on' => true,
Als nächstes müssen wir eine lang.php-Datei im Konfigurationsverzeichnis erstellen, um unser Sprachpaket zu konfigurieren. Der Beispielinhalt lautet wie folgt:
return [
'zh-cn' => [ 'name' => '姓名', 'age' => '年龄', 'email' => '邮箱' ], 'en-us' => [ 'name' => 'Name', 'age' => 'Age', 'email' => 'Email' ]
];
Im obigen Code legen wir zwei Sprachversionen im Sprachpaket-Array fest: Chinesisch vereinfacht ('zh-cn') und Englisch ('en-us ') hat jede Sprachversion ihren eigenen übersetzten Text, wie z. B. Name ('name'), Alter ('age') und E-Mail-Adresse ('email').
Sobald das Sprachpaket konfiguriert ist, können wir Lang-Hilfsfunktionen in der Anwendung verwenden, um auf den übersetzten Text zu verweisen. Die Lang-Hilfsfunktion stellt drei Parameter bereit: den Schlüsselnamen des Sprachpakets, die Substitutionsvariable und die Sprachversion. Der Beispielcode lautet wie folgt:
//Holen Sie sich die aktuelle Sprachversion
$lang = Lang::getLangSet();
//Verwenden Sie die Lang-Hilfsfunktion, um den übersetzten Text abzurufen
echo Lang::get('name ', [], $lang );
Im obigen Code verwenden wir zunächst die Funktion Lang::getLangSet(), um die aktuelle Sprachversion abzurufen, und rufen dann die Funktion Lang::get() auf, um die Namensübersetzung abzurufen Text in der entsprechenden Sprachversion. Da wir keine Substitutionsvariablen haben, ist der zweite Parameter ein leeres Array.
Wenn wir die Lang-Hilfsfunktion in der View-Datei verwenden möchten, können wir die folgende Syntax verwenden:
{{$lang = Lang::getLangSet()}}
{{$name = Lang::get(' name', [], $lang)}}
{{$age = Lang::get('age', [], $lang)}}
{{$email = Lang::get('email', [ ], $lang)}}
Zusätzlich zur Verwendung der Lang-Hilfsfunktion zum Referenzieren des übersetzten Textes können wir auch mehrsprachige Unterstützung durch Routing (Route) implementieren. Um mehrsprachiges Routing zu implementieren, müssen wir entsprechende Routing-Regeln konfigurieren.
Verwenden Sie die Routengruppe (Route::group) mit „/lang/:lang“ als Präfix, wobei „:lang“ die Sprachversion darstellt. Der Beispielcode lautet wie folgt:
Route::group(':lang', function () {
//这里写你的路由规则
})->ext('html')->pattern('lang', '^[a-z ]{2 }-(?:[A-Z]{2})?$');
Im obigen Code verwenden wir „:lang“ als Präfix und definieren dann einen regulären Ausdruck, der der Sprachversion entspricht. Legen Sie abschließend die Option „ext“ fest, damit die Route die automatische Suffix-Analyse unterstützt, und legen Sie die Option „pattern“ fest, um das Sprachversionsformat einzuschränken.
Wenn ein Benutzer auf „/“ zugreift, können wir ihn zur Standardsprachversion der Route umleiten, z. B. „/zh-cn/home“. Für eine bessere Unterstützung mehrerer Sprachen können wir auch Parameter in Routing-Regeln festlegen. Der Beispielcode lautet wie folgt:
Route::get(':lang/home', 'home/index');
Im obigen Code legen wir eine Routing-Regel für ':lang/home' fest und ordnen sie zu zum „Home/Index“-Controller und zur Aktion. Auf diese Weise werden Benutzer beim Zugriff auf „zh-cn/home“ und „en-us/home“ automatisch zu den entsprechenden Controller-Vorgängen weitergeleitet.
Fazit
Mit der Internationalisierung in ThinkPHP6 kann die Unterstützung mehrerer Sprachen problemlos erreicht werden. Durch die Konfiguration von Sprachpaketen, die Verwendung von Lang-Hilfsfunktionen und die Implementierung von mehrsprachigem Routing können wir eine wirklich globale Anwendung erstellen, die mehr Benutzer aus verschiedenen Ländern und Regionen anzieht.
Das obige ist der detaillierte Inhalt vonVerwendung der Internationalisierung in ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!