Erstellen Sie eine mehrsprachige Website in PHP mit dem Laravel Framework
Möchten Sie eine mehrsprachige Website in PHP erstellen? Eine mehrsprachige Website hilft, das Publikum aus mehreren Regionen zu vergrößern. In diesem Artikel untersuchen wir, wie Sie mit dem Laravel Framework eine mehrsprachige Website in PHP erstellen.
Laravel verfügt über eine integrierte Lokalisierungsfunktion. Sprachlokalisierung ist der Prozess der Übersetzung von Inhalten in verschiedene Sprachen. Mit dieser integrierten Funktion von Laravel können wir der Laravel-Website Unterstützung für mehrere Sprachen hinzufügen.
In Laravel können Sie ganz einfach Zeichenfolgen in verschiedenen Sprachen abrufen, wodurch Sie mehrere Sprachen in der Anwendung unterstützen können.
Es gibt zwei Möglichkeiten, wie Sie Übersetzungsstrings in Laravel definieren können – mit kurzen Tasten und mit Übersetzungsstrings als Schlüssel. Schauen wir uns das nacheinander an.
Laravel-Übersetzung mit kurzen Tasten
Um zu beginnen, sollten Sie zunächst die Verzeichnisstrukturen kennen, die für die Übersetzung in Laravel verwendet werden.
Nehmen wir an, Sie müssen die Unterstützung für die Sprache "Deutsch" hinzufügen. Erstellen Sie also ein ‘de’-Verzeichnis unter dem Ordner ‘resources/lang’.
Es wird empfohlen, den Ordnernamen gemäß dem Gebiet gemäß ISO-Werten zu verwenden. Sie können hier eine Liste mit Codes für Sprachen abrufen.
Erstellen Sie eine Datei messages.php
im Ordner ‘de’. Diese Datei enthält ein Array von verschlüsselten Zeichenfolgen. Unten ist das Beispiel, in dem wir eine deutsche Übersetzung für das englische Wort ‘Willkommen’ verwenden.
<?php
return [
'welcome' => 'Herzlich willkommen',
];
‘Willkommen’ ist hier ein benutzerdefinierter Schlüssel. Dieser Schlüssel wird verwendet, um Übersetzungsstrings in deutscher Sprache abzurufen. Sie können dieser Datei beliebig viele Schlüssel hinzufügen. Beim Hinzufügen von Schlüsseln sollten Sie eindeutige Schlüssel im Array verwenden. Doppelte Schlüssel führen zu einer falschen Übersetzung.
Der obige Prozess ist einfach, wenn Ihre Website nicht viel Inhalt hat. Wenn Ihre Website jedoch sehr reich an Inhalten ist, wird es schwierig sein, eindeutige Schlüssel zu verwalten. Entscheiden Sie sich in solchen Fällen für die zweite Möglichkeit, Übersetzungszeichenfolgen als Schlüssel zu übergeben.
Verwenden von Übersetzungszeichenfolgen als Schlüssel
Bei diesem Ansatz müssen Sie keinen eindeutigen Schlüssel übergeben. Was Sie tun müssen, ist eine Datei de.json
im Verzeichnis ‚resources/lang’ zu erstellen. Übergeben Sie als Nächstes in dieser JSON-Datei die Übersetzungszeichenfolge als Schlüssel.
Sie möchten beispielsweise eine deutsche Übersetzung des englischen Satzes ‘How are you?’ de.json
Fügen Sie dann in der Datei das folgende Paar hinzu.
{
"How are you?": "Wie geht es dir?"
}
Der Schlüssel für die Übersetzungszeichenfolge sollte genau das sein, wofür Sie übersetzen möchten. Dies wird viel einfacher sein, da Sie im Code direkt eine Übersetzungszeichenfolge übergeben müssen.
Legen Sie die Sprache für die Laravel-Website fest
Wenn wir Laravel installieren, ist die Standardsprache ‘en’. Um die Standardsprache zu ändern, öffnen Sie die config/app.php
Datei. Suchen Sie den Schlüssel „locale” und legen Sie den Sprachcode fest. In unserem Fall wird es sein 'locale' => 'de'
.
Alternativ können Sie die Sprachlaufzeit über die setLocale
Methode der App
Fassade einstellen. Im folgenden Code habe ich die Sprache im Konstruktor festgelegt.
use App;
public function __construct() {
App::setLocale('de');
}
Übersetzungsstrings abrufen und ersetzen
Um den übersetzten Text aus Sprachdateien zu erhalten, hat Laravel eine Hilfsmethode bereitgestellt ”. Im folgenden Code rufe ich Übersetzungszeichenfolgen sowohl aus messages.php
als auch de.json
in der Blade-Datei ab.
{{ __('messages.welcome') }} //Output, Herzlich willkommen
{{ __('How are you?') }} //Output, Wie geht es dir?
Im Controller können Sie den Übersetzungsstring mit der echo
Funktion abrufen.
echo __('messages.welcome');
echo __('How are you?');
Platzhalter in Übersetzungszeichenfolgen
Laravel untersucht auch Übersetzungsfunktionen, bei denen Sie Platzhalter in den Übersetzungszeichenfolgen übergeben können.
'welcome' => 'Welcome, :name',
Oder in de.josn
Datei,
{
"How are you?": "Wie geht es dir, :name?"
}
Um Platzhalter in der Anwendung zu ersetzen, müssen wir wie folgt Code schreiben.
{{ __('messages.welcome', ['name' => 'John']) }}
{{ __('How are you?', ['name' => 'John']) }}
Wenn wir einen Platzhalter als ‘:NAME’ schreiben, wäre die Ausgabe ‘JOHN’ und für ‘:Name’ ist die Ausgabe ‘John’.
Ich hoffe, Sie verstehen, wie Sie mit dem Laravel-Framework eine mehrsprachige Website in PHP erstellen. Bitte teilen Sie Ihre Gedanken und Vorschläge im Kommentarbereich unten mit.
Zum Thema passende Artikel
- Eine Anleitung zum Hochladen und Komprimieren von Bildern in Laravel
- So installieren und verwenden Sie CKEditor in Laravel
- So verwenden Sie Laravel Tinker