Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich mehrsprachige übersetzte Routen in Laravel?

Wie erstelle ich mehrsprachige übersetzte Routen in Laravel?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 03:01:30155Durchsuche

How to Create Multilingual Translated Routes in Laravel?

Mehrsprachige übersetzte Routen in Laravel erstellen

In Laravel-Anwendungen können Sie mehrsprachige Routen erstellen, die von der ausgewählten Sprache abhängen und einem Benutzer ermöglichen -freundliches Navigationserlebnis.

Schritt 1: Sprachverzeichnisse und Übersetzungen konfigurieren

Erstellen Sie drei separate Sprachverzeichnisse unter app/lang (z. B. pl, en, fr). Erstellen Sie in jedem Verzeichnis eine Datei mit dem Namen „routes.php“, die die übersetzten Routennamen enthält:

<code class="php">// app/lang/pl/routes.php
return array(
    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
<code class="php">// app/lang/en/routes.php
return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
<code class="php">// app/lang/fr/routes.php
return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

Schritt 2: Spracheinstellungen konfigurieren

In app/config/app.php:

  • Setzen Sie „locale“ auf Ihre Standardsprache (z. B. „pl“).
  • Fügen Sie die Liste der alternativen Sprachen in „alt_langs“ ein ' (z. B. ['en', 'fr']).
  • Lassen Sie 'locale_prefix' leer für das Standard-Sprachpräfix.
<code class="php">'locale' => 'pl',
'alt_langs' => ['en', 'fr'],
'locale_prefix' => '',</code>

Schritt 3: Definieren Sie Routenmuster und sprachabhängige Gruppen

In app/routes.php:

  • Wenn das erste Segment der URL mit einer alternativen Sprache übereinstimmt, aktualisieren Sie das Gebietsschema und das Gebietsschema-Präfix .
  • Routenmuster basierend auf den aktuellen Sprachübersetzungen festlegen.
  • Erstellen Sie eine Routengruppe mit dem angewendeten Sprachpräfix.
<code class="php">if (in_array(Request::segment(1), Config::get('app.alt_langs'))) {

    App::setLocale(Request::segment(1));
    Config::set('app.locale_prefix', Request::segment(1));
}

foreach(Lang::get('routes') as $k => $v) {
    Route::pattern($k, $v);
}

Route::group(array('prefix' => Config::get('app.locale_prefix')), function() {

    Route::get('/', function () {
        return "main page - ".App::getLocale();
    });

    Route::get('/{contact}/', function () {
        return "contact page ".App::getLocale();
    });

    Route::get('/{about}/', function () {
        return "about page ".App::getLocale();
    });

});</code>

Schritt 4 : Unbekannte URLs verarbeiten

In app/start/global.php:

  • Alle unbekannten URLs mit einem 301-Statuscode auf das richtige Sprachpräfix umleiten:
<code class="php">App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

Durch die Implementierung dieser Schritte erstellen Sie dynamische Routen, die sich an die ausgewählte Sprache anpassen und so ein nahtloses Benutzererlebnis über mehrere Sprachen hinweg gewährleisten.

Das obige ist der detaillierte Inhalt vonWie erstelle ich mehrsprachige übersetzte Routen in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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