Laravel Lokalisierung ist ein leistungsstarkes Werkzeug, mit dem Entwickler mehrsprachige Websites erstellen können. Durch die Implementierung der Weblokalisierung in Ihren Laravel Projekten bieten Sie Besuchern mit unterschiedlichem sprachlichen Hintergrund ein personalisiertes Nutzererlebnis und erweitern so Ihre Reichweite und verbessern die Nutzerbindung.
Wir führen Sie durch die Implementierung der Lokalisierung in Ihrer Laravel -Anwendung und stellen Ihnen ein Tool vor, das Ihre Lokalisierungsbemühungen vereinfachen und verbessern kann!
Warum sollte man die Laravel Website lokalisieren?

Hier sind einige wichtige Gründe, warum Sie Ihre Laravel Website lokalisieren sollten.
- Erreichen Sie ein globales Publikum: Durch die Lokalisierung Ihrer Laravel -Website können Sie die Reichweite Ihrer App auf ein internationales Publikum ausdehnen. Dies ermöglicht es Nutzern aus verschiedenen Ländern und mit unterschiedlichem Sprachhintergrund, Ihre Inhalte zu verstehen und mit ihnen zu interagieren.
- Verbessert die Nutzererfahrung: Durch die Lokalisierung können Nutzer in ihrer Muttersprache mit der App interagieren, was die Nutzererfahrung deutlich verbessert. Dies kann die Interaktionsraten erhöhen, die Absprungraten senken und die Konversionsraten steigern.
- Wettbewerbsvorteil: In einem wettbewerbsintensiven globalen Markt kann das Angebot von Apps in mehreren Sprachen einen entscheidenden Vorsprung gegenüber Mitbewerbern verschaffen. Es unterstreicht Ihr Engagement auf internationalen Märkten und kann Ihnen den effektiveren Markteintritt erleichtern.
- Verbessert die Suchmaschinenoptimierung: Gut lokalisierte Websites erzielen in Suchmaschinen bei Suchanfragen in der jeweiligen Sprache tendenziell bessere Platzierungen. Dies kann Ihren Blog-Traffic und Ihre Online-Sichtbarkeit in verschiedenen Märkten durch mehrsprachige Übersetzungen steigern.
Anforderungen an eine mehrsprachige Laravel Lokalisierung

Bei der Implementierung mehrsprachiger Lokalisierung in Laravelsind einige Anforderungen und Schritte zu beachten.
- Um die neuesten Lokalisierungsfunktionen nutzen zu können, stellen Sie sicher, dass Sie die neueste Version von Laravel verwenden (z. B. Version 10.x).
- Grundlegende Kenntnisse von PHP und des Laravel -Frameworks sind für die Umsetzung hilfreich.
- Richten Sie eine lokale Entwicklungsumgebung oder einen Server ein, der Laravelunterstützt, einschließlich eines Webservers und einer Datenbank.
- Legen Sie von Anfang an fest, welche Sprachen Ihre Anwendung unterstützen soll.
Einfache Laravel -Übersetzungen

Nachdem wir verstanden haben, welche Anforderungen vor der Übersetzung einer Laravel Anwendung oder eines Webauftritts erfüllt sein müssen, werden wir einige Schritte zur einfachen Übersetzung Laravel vorstellen.
Öffnen Sie dazu die Ansichtsdatei, die Sie lokalisieren möchten, beispielsweise resources/views/welcome.blade.php. Ersetzen Sie anschließend den body-Tag durch den folgenden Code.
Welcome to Linguise website!
Wie Sie sehen, ist der obige Text derzeit direkt im Quellcode geschrieben. Dies ist weniger effizient und erschwert die Übersetzung von Webseiten in verschiedene Sprachen (Internationalisierung).
Wir werden den obigen Text flexibler gestalten, damit er sich leicht an verschiedene Sprachen anpassen lässt. Laravel bietet hierfür eine sehr hilfreiche Funktion: das Lokalisierungssystem. Ersetzen Sie als ersten Schritt den vorhandenen Text durch den folgenden Code.
{{ __('Welcome to Linguise website!') }}
Laravel zeigt standardmäßig den obigen Text an und ruft die Übersetzung ab, wenn der Benutzer eine andere Sprache als Englisch auswählt. In diesem Fall wird Englisch als Standardsprache der Anwendung verwendet.
Einrichten von Gebietsschemata in einer mehrsprachigen Laravel Website

Aber wie ermittelt Laravel die aktuelle Sprache bzw. welche Sprachen in der Anwendung verfügbar sind? Es prüft die Gebietsschemaeinstellungen in der Datei `config/app.php`. Öffnen Sie diese Datei und suchen Sie nach den folgenden beiden Schlüsseln.
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'en',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',
Die Erläuterungen zu den Schlüsseln sollten selbsterklärend sein. Zusammenfassend enthält der Schlüssel `locale` die Standardsprache Ihrer Anwendung (sofern im Code keine andere Sprache angegeben ist). Die Option `fallback_locale` wird aktiviert, wenn in Ihrer Anwendung eine nicht vorhandene Sprache angefordert wird.
Fügen wir nun einen neuen Schlüssel zu dieser Datei hinzu, um eine Liste aller unterstützten Gebietsschemas bereitzustellen.
/*
|--------------------------------------------------------------------------
| Available locales
|--------------------------------------------------------------------------
|
| List all locales that your application works with
|
*/
'available_locales' => [
'English' => 'en',
'Italian' => 'it',
'French' => 'fr',
],
Bisher haben wir Laravel Web so getestet, dass es drei Sprachen unterstützt, nämlich Englisch, Italienisch und Französisch.
Übersicht Laravel -Übersetzungsdateien

In Laravelwerden, wie in vielen anderen Frameworks, Übersetzungen für verschiedene Sprachen in separaten Dateien gespeichert. Für die Organisation dieser Übersetzungsdateien werden zwei Methoden verwendet.
Die ältere Methode speichert Dateien in folgender Struktur: resources/lang/{en,fr,it}/{myfile.php}. Die neuere Methode verwendet JSON-Dateien, z. B. resources/lang/{fr.json, it.json}. Dieser Artikel konzentriert sich auf die neuere Methode, obwohl die Prinzipien – abgesehen von den Unterschieden in der Benennung und dem Zugriff auf die Übersetzungsschlüssel – ähnlich sind.
Bei Sprachen mit regionalen Unterschieden sollten Sie die Sprachverzeichnisse oder -dateien gemäß dem ISO-15897-Standard benennen. Beispielsweise würde britisches Englisch „en_GB“ statt „en-gb“ heißen.
allgemeine Informationen
In Laravelwerden, wie bei vielen Frameworks, Übersetzungen für verschiedene Sprachen in separaten Dateien gespeichert. Es gibt zwei Hauptmethoden zur Organisation von Laravel Übersetzungsdateien.
- Bei der herkömmlichen Methode werden die Dateien unter folgendem Pfad gespeichert: resources/lang/{en,fr,it}/{myfile.php}.
- Der moderne Ansatz verwendet Dateien aus dem Verzeichnis resources/lang/{fr.json, it.json}.
Dieser Artikel konzentriert sich auf die zweite Methode, obwohl die Prinzipien auf beide anwendbar sind (mit Unterschieden in der Benennung und dem Zugriff auf Übersetzungsschlüssel).
Bei Sprachen, die regional variieren, empfiehlt es sich, Sprachverzeichnisse/-dateien gemäß ISO 15897 zu benennen. Beispielsweise würde britisches Englisch als en_GB und nicht als en-gb bezeichnet.
Erstellen Laravel -Übersetzungsdateien
Nachdem wir die Gebietsschemas für unsere Anwendung konfiguriert haben, können wir mit der Übersetzung unserer Standard-Willkommensnachricht fortfahren.
Beginnen wir mit dem Erstellen neuer Lokalisierungsdateien im JSON-Format im Verzeichnis resources/lang. Zuerst erstellen wir eine Datei namens resources/lang/it.json und fügen die entsprechenden Übersetzungen hinzu.
{
"Welcome to Linguise website!": "Benvenuti nel sito web di Linguise!"
}
Als Nächstes fügen Sie eine Datei resources/lang/fr.json hinzu.
{
"Welcome to Linguise website!": "Bienvenue sur le site de Linguise"
}
Wie Sie sehen, verwenden wir durchgehend die Standardnachricht aus der Datei welcome.blade.php ({{ __('Willkommen auf Linguise Website!') }}). Es ist nicht nötig, eine en.json-Datei zu erstellen, da Laravel automatisch erkennt, dass die Standardnachrichten auf Englisch sind.
Sprachumschalter in einer mehrsprachigen Laravel App einrichten

Da Laravel die lokale Sprache noch nicht überschreibt, werden wir die Übersetzung vorerst direkt in der Route vornehmen. Ändern Sie die Standard-Willkommensroute in der Datei routes/web.php wie folgt.
Route::get('/{locale?}', function ($locale = null) {
if (isset($locale) && in_array($locale, config('app.available_locales'))) {
app()->setLocale($locale);
}
return view('welcome');
});
In diesem Fall erfassen wir einen optionalen Locale-GET-Parameter und legen basierend darauf das aktuelle Locale fest (sofern das angeforderte Locale unterstützt wird).
Sie können Ihre Website nun besuchen und eine der unterstützten Sprachen als ersten Teil der URL angeben. Wenn Sie beispielsweise localhost/it oder localhost/fr aufrufen, wird der lokalisierte Inhalt angezeigt. Falls Sie keine Sprache angeben oder eine nicht unterstützte auswählen, verwendet Laravel standardmäßig Englisch (en).
Lokalisierungs-Middleware für Laravel
Die Einbindung der Sprache in jede URL ist möglicherweise nicht optimal und könnte die visuelle Darstellung der Website beeinträchtigen. Um dies zu vermeiden, richten wir einen Sprachumschalter ein und nutzen die Benutzersitzung, um die übersetzten Inhalte anzuzeigen. Sie können neue Middleware in der Datei `app/Http/Middleware/Localization.php` erstellen oder sie mit dem Befehl `artisan make:middleware Localization` generieren.
Fügen Sie anschließend den folgenden Code ein.
Diese Middleware weist Laravel an, den vom Benutzer ausgewählten Speicherort zu verwenden, sofern diese Option in der Sitzung vorhanden ist.
Da die Operation bei jeder Anfrage ausgeführt werden muss, fügen Sie sie dem Standard-Middleware-Stack in app/Http/Kernel.php für die Web-Middleware-Gruppe hinzu.
/**
* The application's route middleware groups.
*
* @var array>
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\Localization::class, // <--- add this
],
Routen ändern
Definieren Sie als Nächstes eine Route zum Ändern des Gebietsschemas in der Datei routes/web.php. Wir verwenden hier eine Closure-Route, Sie können den gleichen Code aber auch in einem Controller platzieren, wenn Sie das bevorzugen.
Route::get('language/{locale}', function ($locale) {
app()->setLocale($locale);
session()->put('locale', $locale);
return redirect()->back();
});
Entfernen Sie außerdem die zuvor der Standard-Willkommensroute hinzugefügte Gebietsschemaumschaltung. Ihre Stammroute sollte nun wie folgt aussehen.
Route::get('/', function () {
return view('welcome');
});
Sobald dies abgeschlossen ist, kann der Benutzer die aktive Sprache nur noch über localhost/language/{locale} ändern. Die ausgewählte Sprache wird in der Sitzung gespeichert, und die Benutzer werden (wie von der Lokalisierungs-Middleware verarbeitet) auf ihre vorherige Seite zurückgeleitet.
Um dies zu testen, rufen Sie localhost/language/it auf (vorausgesetzt, der Session-Cookie ist in Ihrem Browser aktiv). Dort sollten Sie den übersetzten Inhalt sehen. Sie können auf der Website navigieren oder die Seite aktualisieren; die gewählte Sprache bleibt erhalten.
Implementierung des Sprachumschalters
Wir benötigen nun eine anklickbare Option, um die Sprache Laravel Web , anstatt die Sprachcodes manuell in die URL eingeben zu müssen. Erstellen Sie dazu einen einfachen Sprachumschalter. Fügen Sie eine neue Datei unter resources/views/partials/language_switcher.blade.php hinzu und fügen Sie den folgenden Code ein.
@foreach($available_locales as $locale_name => $available_locale)
@if($available_locale === $current_locale)
{{ $locale_name }}
@else
{{ $locale_name }}
@endif
@endforeach
Um den neu erstellten Sprachumschalter in die „Willkommensansicht“ einzubinden, fügen Sie einfach die folgende Zeile in Ihre welcome.blade.php-Datei an der Stelle ein, an der der Umschalter erscheinen soll.
@include('partials/language_switcher')
{{ __('Welcome to our website!') }}
Öffnen Sie die Datei app/Providers/AppServiceProvider.php und fügen Sie den folgenden Code in die Methode boot() ein, um die aktuelle Sprache mit allen Ansichten zu teilen, wenn der Sprachumschalter verwendet wird
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
view()->composer('partials.language_switcher', function ($view) {
$view->with('current_locale', app()->getLocale());
$view->with('available_locales', config('app.available_locales'));
});
}
Erweiterte Übersetzungsfunktionen in Laravel PHP

In dieser Diskussion behandeln wir weitere Lokalisierungskomponenten, nämlich Datum, Zahl und Währung. Hier sind die einzelnen Schritte.
Lokalisierte Datumsangaben in Laravel
Die korrekte Verarbeitung von Datum und Uhrzeit ist im Lokalisierungsprozess unerlässlich. Laravel verwendet Carbon zur Verwaltung von Datum und Uhrzeit. Hier erfahren Sie, wie Sie Carbon zur Anzeige eines lokalisierten Datums nutzen können.
settings(
[
'locale' => app()->getLocale(),
]
);
// LL is macro placeholder for MMMM D, YYYY (you could write same as dddd, MMMM D, YYYY)
$dateMessage = $today->isoFormat('dddd, LL');
return view('welcome', [
'date_message' => $dateMessage
]);
});
Dieser Code legt das Carbon-Gebietsschema basierend auf dem aktuellen Gebietsschema der Anwendung fest und formatiert das Datum entsprechend.
So zeigen Sie das lokalisierte Datum in einer Ansicht an:
{{ __('Welcome to our website, :Name', ['name' => ‘Johb’]) }}
{{ trans_choice('{0} There :form :count apples|{1} There :form just :count apple|[2,19] There :form :count apples', 1, ['form' => 'is']) }}
{{ $date_message }}
Formatierung von Zahlen und Währungen
In verschiedenen Ländern gibt es unterschiedliche Arten, Zahlen zu formatieren. Zum Beispiel.
- Frankreich → 123 123,12
- Deutschland → 123.123,12
- Japan → 123.123
Um diese Variationen in Ihrer Laravel Anwendung zu berücksichtigen, können Sie NumberFormatter verwenden.
Man kann Zahlen auch in einer bestimmten Sprache ausschreiben.
Hier sind die Währungen. Für die französische Lokalisierung („fr“) wird die Währung in Euro (€) angezeigt, für die US-amerikanische Lokalisierung („en_US“) in US-Dollar ($).
Alternative Lösung: Laravel -Lokalisierung mit Linguise

Nachdem man die im Artikel beschriebenen Schritte der Laravel Lokalisierung verstanden hat, wird deutlich, dass dieser Prozess viele Schritte umfasst, die ein tiefes Verständnis des Laravel -Programmcodes erfordern.
Dies kann es unerfahrenen Nutzern, die ihre Anwendungen lokalisieren möchten, sicherlich erschweren. Daher ist eine innovativere Lösung erforderlich, die eine schnelle Übersetzung ermöglicht, die Lokalisierung unterstützt und sich mit wenigen einfachen Schritten implementieren lässt.
Eine vielversprechende Lösung ist Linguise. Linguise bietet einen einfacheren und effizienteren Ansatz zur Lokalisierung Laravel Anwendungen, ohne dass tiefgreifende Programmierkenntnisse erforderlich sind. Zu den wichtigsten Funktionen von Linguise gehören:.
- Einfache Integration mit Laravel
- Sprachumschalter ohne Programmierung anpassen
- Bildübersetzung
- Live-Editor zur Anpassung der Übersetzungen an den lokalen Kontext
- Dynamische Übersetzung für dynamisch generierte Inhalte
- SEO-Optimierung für mehrsprachige Versionen
Die Installation Linguise auf Laravel -Websites ist ebenfalls einfach. Hier eine kurze Erklärung.
- Erstellen Sie ein Linguise Konto (nutzen Sie die 30-tägige kostenlose Testversion)
- Registrieren Sie Ihre Laravel Webdomain und geben Sie einige Informationen ein. Sie erhalten dann einen API-Schlüssel.
- Laden Sie das Linguise Übersetzungsskript in den von Ihnen erstellten Laravel Ordner hoch und verbinden Sie es.
- Sprach-URLs in der .htaccess-Datei einrichten.
- Fügen Sie das Skript zum Umschalten der Sprache im Head-Bereich Ihres HTML-Codes ein.
- Passen Sie den Sprachumschalter nach Bedarf an
- Der Sprachumschalter wird auf der Laravel -Webseite angezeigt, und die Inhalte können automatisch übersetzt werden.
Wie? Bei Linguisemüssen Sie sich lediglich registrieren und aktivieren, und schon erscheint der Sprachumschalter. Anschließend können Sie Ihre Texte lokalisieren, beispielsweise über den Live-Editor, Medien, Bilder usw. übersetzen.
Fazit
Die Lokalisierung Laravel ist eine leistungsstarke Funktion, mit der Entwickler mehrsprachige Websites und Anwendungen erstellen können. Wie wir gesehen haben, umfasst der integrierte Lokalisierungsprozess Laravel mehrere Schritte und erfordert ein gutes Verständnis des Frameworks. Für Anfänger oder diejenigen, die eine schnellere Lösung suchen, kann dies eine Herausforderung darstellen.
Tools wie Linguise bieten eine innovative Alternative für alle, die einen effizienteren Ansatz suchen. Diese Lösungen bieten schnelle Übersetzungsfunktionen, einfache Integration und benutzerfreundliche Features wie anpassbare Sprachumschalter und Bildübersetzung. Erstellen Sie jetzt Ihr Linguise Konto und nutzen Sie unsere Funktion zur Lokalisierung Ihres Laravel !



