Wie man eine Laravel -Anwendung internationalisiert
Sprachdateien erstellen: Erstellen Sie Subdirektorien für jede Sprache (z. B. en, es) im Ressourcen-/Lang -Verzeichnis und fügen Sie Message.php -Datei hinzu, oder verwenden Sie die JSON -Datei, um die Übersetzung zu speichern. 2. Setzen Sie die Anwendungssprache: Lesen Sie den Anforderungsheader Akzeptieren Sie die Sprache über Middleware oder erkennen Sie die Sprache über das URL-Präfix, setzen Sie die aktuelle Sprache mit app ()-> setlocale () und registrieren Sie die Middleware in kernel.php. 3.. Verwenden Sie Übersetzungsfunktionen: Verwenden Sie __ (), trans () oder @lang in der Ansicht, um den Übersetzungsinhalt zu erhalten, und es wird empfohlen, __ () zu verwenden, der Fallback unterstützt. 4. Supportparameter und Plural: Verwenden Sie Platzhalter wie: Name in Übersetzungszeichenfolgen und verwenden Sie trans_choice (), um Pluralformen wie '{0} NO -Äpfel | {1} Ein Apfel | [2,*]: Zählen von Äpfeln'; 5. Konfigurieren Sie die Fallback -Sprache: Setzen Sie Locale und Fallback_locale in config/app.php, um die Standardsprache zu gewährleisten, wenn die Übersetzung fehlt. 6. Optionale Leistungsoptimierung: Die Produktionsumgebung kann Übersetzungscache durch Drittanbieter-Pakete realisieren. 7. Front-End-Integration: Übersetzung über die API-Schnittstelle aussetzen oder rahmenspezifische Plug-Ins verwenden, um Sprachpakete zu teilen. Zusammenfassung: Laravel Internationalization erfordert eine strukturierte Verwaltung von Sprachdateien, die einheitliche Verwendung von __ () -Funktion, setzt die Sprache dynamisch mit Middleware und handelt Parameter, Pluralen und Fallbacks, um mehrsprachige Unterstützung zu erzielen.
Mit der Internationalisierung einer Laravel -Anwendung können Sie Inhalte in mehreren Sprachen bedienen und Ihre App für ein globales Publikum zugänglich machen. Laravel bietet eine solide integrierte Unterstützung für die Lokalisierung durch Sprachdateien und Helferfunktionen. Hier erfahren Sie, wie Sie es richtig einrichten können.

1. Setzen Sie Sprachdateien ein
Laravel speichert Sprachzeichenfolgen in resources/lang
-Verzeichnis. Jede Sprache hat ein eigenes Unterverzeichnis (z. B. en
, es
, fr
).
Erstellen Sie Sprachverzeichnisse und Dateien:

/Ressourcen /lang /en messus.php /es messus.php
Beispiel: /resources/lang/en/messages.php
<? Php Zurückkehren [ 'Willkommen' => 'Willkommen zu unserer Bewerbung', ' 'Login' => 'Login', ];
Beispiel: /resources/lang/es/messages.php

<? Php Zurückkehren [ 'Willkommen' => 'Bienvenido A Nuestra Aplicación', 'Login' => 'Iniciar sesión', ];
Sie können auch JSON -Dateien für einzelne Übersetzungszeichenfolgen (z. B. resources/lang/es.json
) verwenden, die Laravel nativ unterstützt.
2. Erkennen und setzen Sie das Anwendungsgebietsschema
Laravel verwendet die App::setLocale()
-Methode, um die Sprachen zu wechseln. Sie müssen die bevorzugte Sprache des Benutzers bestimmen und früh im Anforderungslebenszyklus festlegen.
Option A: Middleware (empfohlen)
Erstellen Sie eine Middleware, um das Gebietsschema festzulegen:
Php Artisan Make: Middleware Setlocale
In app/Http/Middleware/SetLocale.php
:
öffentliche Funktion Handle ($ Anfrage, \ Clospeure $ Nächst) { $ locale = $ request-> header ('Akzeptierende Sprache', 'en'); // Gebietsschema validieren und sanieren (z. B. 'en', 'es') $ unterstützteedLocales = ['en', 'es', 'fr']; if (! in_array ($ locale, $ unterstützteedLocales)) { $ locale = 'en'; // zurückgreifen } app ()-> setLocale ($ locale); Rückgabe $ als nächstes ($ request); }
Registrieren Sie die Middleware unter $middleware
oder einer Routengruppe in app/Http/Kernel.php
.
Option B: URL-basiertes Gebietsschema
Sie können das Gebietsschema auch über die URL übergeben:
Route :: Get ('/{Locale}/Welcome', Funktion ($ Locale) { app ()-> setLocale ($ locale); Rückkehransicht ('Willkommen'); });
Oder verwenden Sie eine Routengruppe:
Route :: Prefix ('{Locale}')-> Middleware ('set.locale')-> Group (function () { Route :: GET ('/Welcome', [WelcomEcontroller :: class, 'index']); });
Extrahieren und speichern Sie das Gebietsschema in den Sitzungs- oder Benutzereinstellungen.
3.. Verwenden Sie Übersetzungsfunktionen in Ansichten und Code
Laravel bietet mehrere Helfer, um übersetzte Saiten abzurufen.
Verwenden Sie __()
Helfer:
<h1> {{__ ('messus.welcome')}} </h1> <p> {{__ ('messus.login')}} </p>
Oder mit JSON -Übersetzungen:
<h1> {{__ ('Willkommen zu unserer Anwendung')}} </h1>
Verwenden Sie @lang
Blade -Richtlinie:
@lang ('messus.welcome')
Hinweis:
@lang
fällt nicht auf andere Sprachen zurück und ist weniger flexibel als__()
, also wird__()
bevorzugt.
Übergeben von Parametern
Für dynamische Übersetzungen:
// Sprachdatei 'Hallo' => 'Hallo,: Name',
{{__ ('messages.hello', ['name' => 'John'])}}
4. Pluralisierung und Auswahl
Laravel unterstützt die Pluralisation unter Verwendung der Funktion trans_choice()
.
Beispiel in Sprachdatei:
'apples' => '{0} Keine Äpfel | {1} Ein Apfel | [2,*]: Zählen Sie Äpfel',,
Oder Verwenden von Platzhaltern:
'apples' => 'ein Apple |: Zählen von Äpfeln',
Verwendung:
{{trans_choice ('messages.apples', 3)}}
Dies gibt aus: 3 apples
.
5. Fallback und fehlende Übersetzungen
Laravel fällt zurück in das Standard -Gebietsschema (definiert in config/app.php
), wenn eine Übersetzung fehlt.
Stellen Sie sicher, dass Ihre config/app.php
enthält:
'Locale' => 'en', 'Fallback_locale' => 'en',
Sie können fehlende Übersetzungen protokollieren oder verarbeiten, indem Sie den Übersetzer von Laravel erweitern, aber standardmäßig wird der Schlüssel oder Fallback zurückgegeben.
6. Caching -Übersetzungen (optional)
In der Produktion können Sie Sprachdateien für die Leistung zwischenspeichern:
PHP Artisan Config: Cache PHP Artisan Route: Cache
Während Laravel nicht standardmäßig lang:cache
bietet, können Sie Pakete wie barryvdh/laravel-translation-manager
verwenden oder bei Bedarf eine benutzerdefinierte Cache-Ebene implementieren.
7. JavaScript -Integration (optional)
Wenn Ihre Frontend-Übersetzungen benötigt, sollten Sie Pakete wie spatie/laravel-translatable
oder inertiajs/inertia
mit gemeinsam genutzten Requisiten verwenden oder Übersetzungen über einen sicheren Endpunkt aufdecken:
Route :: get ('/translations/{Locale}', Funktion ($ Locale) { $ translations = Translate ('Nachrichten', [], $ Locale); return response ()-> json ($ translations); });
Oder verwenden Sie ein Paket wie vue-i18n
/ laravel-vue-i18n
wenn Sie VUE verwenden.
Zusammenfassung
Um eine Laravel -App zu internationalisieren:
- Übersetzungen in
resources/lang/{locale}/
speichern - Verwenden Sie
__()
odertrans()
Helfer in Ansichten und Controllern - Erkennen Sie die Sprache über Header-, URL- oder Benutzereinstellungen
- Stellen Sie den Gebietsschema mit Middleware ein
- Unterstützungsparameter und Pluralisierung
- Gehen Sie Fallbacks und fehlende Schlüssel um
Es ist nicht komplex, aber die Konsistenz in der Struktur und der Planung Ihrer Gebiete im Voraus erleichtert die Wartung.
Das obige ist der detaillierte Inhalt vonWie man eine Laravel -Anwendung internationalisiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Modelle erstellen und Migration: Verwenden Sie PhPartisanMake: ModellPost-M, um Modelle und Migrationsdateien zu generieren, die Tabellenstruktur zu definieren und PhPartisanmigrate auszuführen. 2. Grundlegende CRUD -Operationen: Verwenden Sie Post :: All (), Find (), Create (), Save () und Delete (), um Daten abzufragen, zu erstellen, zu aktualisieren und zu löschen. 3. Verwenden Sie die eloquente Assoziation: Definieren Sie die Beziehungen zwischen Hörbol und Hasmany im Modell und verwenden Sie die Methode mit (), um die zugehörigen Daten vorzuladen, um N 1 -Abfrageprobleme zu vermeiden. V.

PolymorphicrelationshipSinlaravelallowamodellikeCompomentorimagetobelongTomultiplemodelsSuchaspost, Video, Ouserusingasinglease.2.DedatabaseSchemarequires {relation} _idandandcomputerable_typecolumns, exemplifictifydyTableable_idandcompommentable_typecoloNs, Exemplifictable, exemplifictabledy und entfaltet

Ja, youcancreateasocialNetworkwithlaravelByFollowingthesSteps: 1.SetUplaravelusedComposer, configurethe.envFile, EnableAuthenticationViabreeze/Jetstream/Verstärkung, AndrunMigrationsforSerManmanagement

Mit Laravels TaskScheduling-System können Sie Timing-Aufgaben über PHP definieren und verwalten, ohne den Server-Crontab manuell zu bearbeiten, nur eine Cron-Aufgabe hinzuzufügen, die dem Server einmal pro Minute ausgeführt wird: *CD/Path-to-Your-Project && PhPartiSeSule: Run >>/Dev/Dev/null2> & 1 und dann werden alle Tasks konfiguriert. 1. Definieren von Aufgaben können Befehls-, Anruf- oder Exec-Methoden verwenden, z. B. $ plan-

Um Laravel zum Erstellen eines mobilen Backends zu erstellen, muss zunächst das Framework installiert und die Datenbankumgebung konfiguriert werden. 2. Definieren Sie API -Routen in Routen/api.php und geben Sie eine JSON -Antwort mit dem Ressourcencontroller zurück. 3.. Implementieren Sie die API -Authentifizierung über Laravelsanctum, um Token für die mobile Speicherung und Authentifizierung zu generieren; 4. Überprüfen Sie den Dateityp beim Hochladen von Dateien und speichern Sie sie auf öffentlicher Festplatte und erstellen Sie Soft -Links für den externen Zugriff. 5. Die Produktionsumgebung erfordert HTTPS, setzen aktuelle Grenzwerte ein, konfigurieren CORs, führen Sie die API -Versionskontrolle durch und optimieren Sie die Fehlerbehandlung. Es wird außerdem empfohlen, API -Ressourcen, Paging-, Warteschlangen- und API -Dokumenten -Tools zu verwenden, um die Wartbarkeit und Leistung zu verbessern. Verwenden Sie Laravel, um einen Safe zu bauen,

Sprachdateien erstellen: Erstellen Sie Subdirektorien für jede Sprache (z. B. en, es) im Ressourcen-/Lang -Verzeichnis und fügen Sie Message.php -Datei hinzu, oder verwenden Sie die JSON -Datei, um die Übersetzung zu speichern. 2. Setzen Sie die Anwendungssprache: Lesen Sie den Anforderungsheader Akzeptieren Sie die Sprache über Middleware oder erkennen Sie die Sprache über das URL-Präfix, setzen Sie die aktuelle Sprache mit app ()-> setlocale () und registrieren Sie die Middleware in kernel.php. 3.. Verwenden Sie Übersetzungsfunktionen: Verwenden Sie __ (), trans () oder @lang in der Ansicht und verwenden Sie __ (), das Fallback unterstützt; 4. Supportparameter und Plural: Verwenden Sie Platzhalter in Übersetzungszeichenfolgen wie: n

LaravelusesmonologtologMessagesViathelogfacade, withefaultLogStoredInstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput; thedefaultStackchannelaggatesMulthandleSlerslikesingle: WARNSLIKSLE:

Stellen Sie sicher, dass es in der Benutzertabelle eine Spalte für remm_token gibt. Laravels Standardmigration enthält bereits dieses Feld. Wenn nicht, wird es durch Migration hinzugefügt; 2. Fügen Sie ein Kontrollkästchen mit Namen hinzu, erinnern Sie sich im Anmeldeformular, um die Option "Erinnere mich" anzugeben. 3. Übergeben Sie den Parameter Remember an die Auth :: Versuch () während der manuellen Authentifizierung, um eine anhaltende Anmeldung zu ermöglichen. 4. "Remember Me" dauert standardmäßig 5 Jahre und kann über das Remal_FOR -Konfigurationselement in config/auth.php angepasst werden. 5. Laravel ungültig für Erinnerung, wenn sich das Kennwort ändert oder Benutzer löscht. Es wird empfohlen, HTTPS zu verwenden, um die Sicherheit in der Produktionsumgebung zu gewährleisten. 6
