Inhaltsverzeichnis
1. Setzen Sie Sprachdateien ein
2. Erkennen und setzen Sie das Anwendungsgebietsschema
Option A: Middleware (empfohlen)
Option B: URL-basiertes Gebietsschema
3.. Verwenden Sie Übersetzungsfunktionen in Ansichten und Code
Verwenden Sie __() Helfer:
Verwenden Sie @lang Blade -Richtlinie:
Übergeben von Parametern
4. Pluralisierung und Auswahl
5. Fallback und fehlende Übersetzungen
6. Caching -Übersetzungen (optional)
7. JavaScript -Integration (optional)
Zusammenfassung
Heim PHP-Framework Laravel Wie man eine Laravel -Anwendung internationalisiert

Wie man eine Laravel -Anwendung internationalisiert

Aug 22, 2025 pm 02:31 PM
laravel Internationalisierung

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.

Wie man eine Laravel -Anwendung internationalisiert

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.

Wie man eine Laravel -Anwendung internationalisiert

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:

Wie man eine Laravel -Anwendung internationalisiert
 /Ressourcen
  /lang
    /en
      messus.php
    /es
      messus.php

Beispiel: /resources/lang/en/messages.php

 <? Php

Zurückkehren [
    &#39;Willkommen&#39; => &#39;Willkommen zu unserer Bewerbung&#39;, &#39;
    &#39;Login&#39; => &#39;Login&#39;,
];

Beispiel: /resources/lang/es/messages.php

Wie man eine Laravel -Anwendung internationalisiert
 <? Php

Zurückkehren [
    &#39;Willkommen&#39; => &#39;Bienvenido A Nuestra Aplicación&#39;,
    &#39;Login&#39; => &#39;Iniciar sesión&#39;,
];

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 (&#39;Akzeptierende Sprache&#39;, &#39;en&#39;);

    // Gebietsschema validieren und sanieren (z. B. &#39;en&#39;, &#39;es&#39;)
    $ unterstützteedLocales = [&#39;en&#39;, &#39;es&#39;, &#39;fr&#39;];
    if (! in_array ($ locale, $ unterstützteedLocales)) {
        $ locale = &#39;en&#39;; // 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 (&#39;/{Locale}/Welcome&#39;, Funktion ($ Locale) {
    app ()-> setLocale ($ locale);
    Rückkehransicht (&#39;Willkommen&#39;);
});

Oder verwenden Sie eine Routengruppe:

 Route :: Prefix (&#39;{Locale}&#39;)-> Middleware (&#39;set.locale&#39;)-> Group (function () {
    Route :: GET (&#39;/Welcome&#39;, [WelcomEcontroller :: class, &#39;index&#39;]);
});

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> {{__ (&#39;messus.welcome&#39;)}} </h1>
<p> {{__ (&#39;messus.login&#39;)}} </p>

Oder mit JSON -Übersetzungen:

 <h1> {{__ (&#39;Willkommen zu unserer Anwendung&#39;)}} </h1>

Verwenden Sie @lang Blade -Richtlinie:

 @lang (&#39;messus.welcome&#39;)

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
&#39;Hallo&#39; => &#39;Hallo,: Name&#39;,
 {{__ (&#39;messages.hello&#39;, [&#39;name&#39; => &#39;John&#39;])}}

4. Pluralisierung und Auswahl

Laravel unterstützt die Pluralisation unter Verwendung der Funktion trans_choice() .

Beispiel in Sprachdatei:

 &#39;apples&#39; => &#39;{0} Keine Äpfel | {1} Ein Apfel | [2,*]: Zählen Sie Äpfel&#39;,,

Oder Verwenden von Platzhaltern:

 &#39;apples&#39; => &#39;ein Apple |: Zählen von Äpfeln&#39;,

Verwendung:

 {{trans_choice (&#39;messages.apples&#39;, 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:

 &#39;Locale&#39; => &#39;en&#39;,
&#39;Fallback_locale&#39; => &#39;en&#39;,

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 (&#39;/translations/{Locale}&#39;, Funktion ($ Locale) {
    $ translations = Translate (&#39;Nachrichten&#39;, [], $ 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 __() oder trans() 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!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So planen Sie Artisan -Befehle in Laravel So planen Sie Artisan -Befehle in Laravel Aug 14, 2025 pm 12:00 PM

Definieren Sie den Zeitplan: Verwenden Sie das Zeitplanobjekt, um die artisanische Befehlsplanung in der Zeitplanmethode der App \ Console \ Kernel -Klasse zu konfigurieren. 2. Setzen Sie die Frequenz: Stellen Sie die Ausführungsfrequenz durch Kettenmethoden wie Everminute, tägliche, stündliche oder Cron -Syntax ein. 3.. Parameter übergeben: Verwenden Sie Arrays oder Zeichenfolgen, um Parameter an den Befehl zu übergeben. 4. Planen des Shell -Befehls: Verwenden Sie die EXEC -Methode, um Systembefehle auszuführen. 5. Bedingungen hinzufügen: Verwenden Sie an Wochentagen und anderen Methoden zur Steuerung des Ausführungszeitpunkts; 6. Ausgangsverarbeitung: Verwenden Sie Sendout PutTo, Appendout PutTo oder E -MailOut PutTo, um aufzuzeichnen oder

So verwenden Sie Soft Delets in Laravel So verwenden Sie Soft Delets in Laravel Aug 13, 2025 am 06:54 AM

SoftDeletesinlaravelAllowyoutomarkrecordsasDeletedWithoutremovingTheStHedatabasEsettingAdeleted_attimestamp, die DensDatArCoveryWeneded.1.AddthesoftDeletEstraTtoyourmodel: Importandseilluminatin \ Database \ eloquent \ SoftdelyCel

Wie man in Laravel eloquent verwendet Wie man in Laravel eloquent verwendet Aug 21, 2025 pm 02:30 PM

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.

Wie arbeite man mit Enums in Laravel -Modellen und Migrationen? Wie arbeite man mit Enums in Laravel -Modellen und Migrationen? Aug 16, 2025 am 10:29 AM

Die Verwendung von String -Feldern und die PHP -Aufzählung ist der beste Weg, um Aufzählungen in Laravel zu verarbeiten. 1. Verwenden Sie Felder Typ String Typ in der Migration und fügen Sie optional Checkin -Einschränkungen hinzu. 2. Definieren Sie PHP enum mit dem Zeichenfolgenwert (php8.1); 3.. Umwandeln Sie Felder automatisch in Enum -Instanzen durch $ Casts im Modell; 4. Verwenden Sie Regel :: in (enum :: values ()) in Formularüberprüfung, um sicherzustellen, dass die Eingabe legal ist. 5. Verwenden Sie Enum :: cases () oder fake ()-> enum () in Fabrik- und Seed-Dateien, um Testdaten zu generieren; 6. Verwenden Sie das -> Wert -Attribut der Aufzählung oder vergleichen Sie die Enum -Instanzen bei der Abfrage direkt. Sollen

Wie behandle ich das Streaming von Dateien in Laravel? Wie behandle ich das Streaming von Dateien in Laravel? Aug 12, 2025 am 10:04 AM

UserePonse ()-> stream () storreage :: readStream () tostreamFilesmanuellhileavoidingMemoryExHAUStion; 2.utilizestorage :: Download () Orstorage :: response () ForautomaticsTreamingOffilesfromLocalors3StorageWitroperheaders;

Wie man sich in Laravel -Tests verspotten Wie man sich in Laravel -Tests verspotten Aug 08, 2025 pm 04:24 PM

Usemail :: Fake () Verzierung :: fake () TomockfacadesAndasStSentMessageswithoUtrealSeffects.2.

Wie man mit polymorphen Beziehungen in Laravel arbeitet Wie man mit polymorphen Beziehungen in Laravel arbeitet Aug 25, 2025 am 10:56 AM

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

So verwenden Sie die Aufgabenplanung von Laravel So verwenden Sie die Aufgabenplanung von Laravel Aug 31, 2025 am 06:07 AM

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-

See all articles