Heim >PHP-Framework >Laravel >Laravel-Entwicklung: Wie kann man mithilfe der Laravel-Lokalisierung mehrsprachige Unterstützung erreichen?

Laravel-Entwicklung: Wie kann man mithilfe der Laravel-Lokalisierung mehrsprachige Unterstützung erreichen?

王林
王林Original
2023-06-13 10:27:041674Durchsuche

Mit dem Trend der Globalisierung müssen immer mehr Websites und Anwendungen mehrere Sprachen unterstützen. Bei der herkömmlichen Website-Entwicklung ist es in der Regel erforderlich, Seiten in mehreren Sprachen manuell zu erstellen, was nicht nur zeitaufwändig und arbeitsintensiv, sondern auch fehleranfällig ist. Mit der Entwicklung moderner Entwicklungstechnologie ist es zu einem Trend geworden, Frameworks und Tools zu verwenden, um die Unterstützung mehrerer Sprachen zu vereinfachen.

In der Laravel-Entwicklung ist die Laravel-Lokalisierung eine beliebte Methode, um mehrsprachige Unterstützung zu erreichen. In diesem Artikel wird erläutert, wie Sie die Laravel-Lokalisierung verwenden, um mehrsprachige Unterstützung in Laravel-Anwendungen zu implementieren.

  1. Installation und Konfiguration

Zuerst müssen Sie die Lokalisierungskomponente von Laravel installieren. Sie können Composer verwenden, um Folgendes zu installieren:

composer require "laravelcollective/html":"^5.8.0"
php artisan vendor:publish --tag=laravel-errors --force

Dann müssen Sie unter app/config eine neue Datei locale.php erstellen, um die unterstützten Sprachoptionen zu konfigurieren:

return [
    'locales' => ['en' => 'English', 'zh' => '中文'],
    'default_locale' => 'en'
];

Hier enthält das Locales-Array die unterstützten Sprachoptionen, jede davon Der Schlüssel des Elements ist der Sprachcode und der Wert ist der Name der Sprache. default_locale gibt die Standardsprachoption an.

  1. Mehrsprachige Ressourcen erstellen

Als nächstes müssen Sie die entsprechenden Sprachressourcendateien für jede unterstützte Sprache erstellen. Eine Sprachressourcendatei enthält normalerweise ein Array mit allen lokalisierten Zeichenfolgen, die in diesem Gebietsschema verwendet werden. Diese Dateien können schnell mit dem Befehl artisan erstellt werden, wie unten gezeigt:

php artisan make:lang en
php artisan make:lang zh

Dadurch werden zwei Lang-Verzeichnisse erstellt, eines für Englisch und eines für Chinesisch.

  1. Mehrsprachige Ressourcen bearbeiten

Bearbeiten Sie die Sprachressourcendatei für jedes Gebietsschema und fügen Sie die für dieses Gebietsschema spezifischen lokalisierten Zeichenfolgen zum Array hinzu. Beispielsweise können Sie in den Dateien en.php und zh.php Folgendes hinzufügen:

// en.php
return [
    "welcome" => "Welcome to our site",
    "about" => "About Us",
    "contact" => "Contact Us"
];

// zh.php
return [
    "welcome" => "欢迎访问我们的网站",
    "about" => "关于我们",
    "contact" => "联系我们"
];
  1. Lokalisierte Zeichenfolgen in Ansichten verwenden

Wenn die Ansicht lokalisierte Zeichenfolgen enthalten muss, können Sie die in Laravel Localization bereitgestellte Trans-Datei verwenden Funktion. Die Funktion trans akzeptiert einen lokalisierten Zeichenfolgenschlüssel und gibt die entsprechende lokalisierte Zeichenfolge zurück. In einer Blade-Vorlage können Sie die Trans-Funktion beispielsweise wie folgt verwenden:

<h1>{{ trans('messages.welcome') }}</h1>

Hier gibt die Trans-Funktion die entsprechende lokalisierte Zeichenfolge basierend auf dem aktuellen Gebietsschema zurück.

  1. Sprachoption wechseln

Schließlich ist in der App auch die Möglichkeit verfügbar, die Sprachoptionen zu wechseln. Sie können in der Ansicht ein Dropdown-Feld erstellen, um die Sprachoption umzuschalten, und JavaScript verwenden, um das Formular zu senden, sodass die ausgewählte Sprachoption in der Laravel-Sitzung gespeichert wird.

<form id="locale-form" method="POST" action="{{ url('locale') }}">
    {{ csrf_field() }}
    <select name="locale" onchange="document.querySelector('#locale-form').submit();">
        @foreach (Config::get('locale.locales') as $key => $value)
            <option value="{{ $key }}" {{ ($key === App::getLocale()) ? ' selected' : '' }}>{{ $value }}</option>
        @endforeach
    </select>
</form>

Fügen Sie den folgenden Code zu Ihrer Route hinzu, um Anfragen aus dem Sprachoptionen-Formular zu bearbeiten:

Route::post('locale', function(Request $request) {
    App::setLocale($request->locale);
    return redirect()->back();
});

Dadurch werden die Sprachoptionen in der aktuellen Sitzung aktualisiert und zur vorherigen Seite weitergeleitet.

Fazit

Mit der Laravel-Lokalisierung soll die Unterstützung mehrerer Sprachen vereinfacht werden, um alle Seitenelemente in Laravel-Anwendungen einfach zu lokalisieren. Die in diesem Artikel vorgestellten Schritte können als Ausgangspunkt für die Implementierung der Mehrsprachenunterstützung in Ihrer Laravel-Anwendung verwendet werden. Im eigentlichen Prozess können auch entsprechende Anpassungen und Individualisierungen entsprechend den Bedürfnissen der Anwendung vorgenommen werden.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie kann man mithilfe der Laravel-Lokalisierung mehrsprachige Unterstützung erreichen?. 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