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

Wie erstelle ich mehrsprachige Routen in Laravel?

DDD
DDDOriginal
2024-11-03 21:22:29139Durchsuche

How to Create Multilingual Routes in Laravel?

So erstellen Sie mehrsprachige übersetzte Routen in Laravel

Einführung

Das Übersetzen von Routen ist für die Erstellung mehrsprachiger Anwendungen unerlässlich. In Laravel ist es möglich, mehrere Sprachen zu verwenden und die Sprache basierend auf der URL dynamisch zu wechseln. In diesem Artikel wird erläutert, wie Sie mehrsprachige übersetzte Routen in Laravel mithilfe der ersten im Referenzartikel beschriebenen Methode implementieren.

Schritt 1: Routen übersetzen

Erstellen Sie drei Routen.php-Dateien im Verzeichnis app/lang für jede Sprache (z. B. pl/routes.php, en/routes.php und fr/routes.php). Übersetzen Sie in jeder Datei die Routennamen:

  • Polnisch:
<code class="php"><?php
// app/lang/pl/routes.php

return array(

    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
  • Englisch:
<code class="php"><?php
// app/lang/en/routes.php

return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
  • Französisch:
<code class="php"><?php
// app/lang/fr/routes.php

return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

Schritt 2: Spracheinstellungen konfigurieren

Aktualisieren Sie die Datei app/config/app.php:

  • Legen Sie die primäre Sprache fest:
<code class="php">'locale' => 'pl',</code>
  • Listen Sie die alternativen Sprachen auf:
<code class="php">'alt_langs' => array('en', 'fr'),</code>
  • Definieren Sie das Gebietsschema-Präfix:
<code class="php">'locale_prefix' => '',</code>

Schritt 3: Routenmuster definieren

In App/ Routen.php, richten Sie Routenmuster basierend auf den Sprachübersetzungen ein:

<code class="php"><?php
// app/routes.php

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

Schritt 4: Routen nach Gebietsschema gruppieren

Erstellen Sie eine Routengruppe mit einem Präfix gleich zum ausgewählten Gebietsschema:

<code class="php"><?php
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 5: Weiterleitungen verarbeiten

Erstellen Sie in app/start/global.php eine 301-Umleitung für unbekannte URLs zur richtigen Sprache:

<code class="php"><?php
// app/start/global.php

App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

Das obige ist der detaillierte Inhalt vonWie erstelle ich mehrsprachige 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