Dokumentation / Laravel
Laravel-Lokalisierung für Blade, automatisiert
Bewegen Sie fest codierten Text in Laravel-Blade-Ansichten in __()-Aufrufe mit Übersetzungen aus lang/<locale>.json, sortiert nach dem Text – in einem Befehl oder Pull Request.
Funktionsweise
Text in Blade-Ansichten wird zu {{ __('Hi :name, welcome back', ['name' => $user->name]) }}: Laravel-Übersetzungsstrings in JSON, die nach dem Text selbst indiziert sind, mit Platzhaltern :name.
Direktiven wie @if trennen Sätze; E-Mail-Adressen werden nicht mit Direktiven verwechselt.
Pluralformen ({{ $n == 1 ? 'item' : 'items' }}, Str::plural('item', $n)) werden zu trans_choice(':count item|:count items', $n), wobei die Formen jeder Sprache in der Reihenfolge verwendet werden, die Laravel auswählt.
Vorher und nachher
Die tatsächliche Ausgabe der Engine für diese Datei. Bei einer echten Ausführung benennt das gehostete Modell die Schlüssel anhand des Kontexts.
@extends('layouts.app')
@section('content')
<h1>Hi {{ $user->name }}, welcome back</h1>
<input placeholder="Search products">
@endsection@extends('layouts.app')
@section('content')
<h1>{{ __('Hi :name, welcome back', ['name' => $user->name]) }}</h1>
<input placeholder="{{ __('Search products') }}">
@endsection{
"Hi :name, welcome back": "Hi :name, welcome back",
"Search products": "Search products"
}Was das Setup hinzufügt
Der erste Durchlauf richtet Laravel-Übersetzungsstrings ein, falls das Projekt es noch nicht hat:
lang/<locale>.jsonfür jede Sprache- Ein
SetLocale-Middleware in der Web-Gruppe:?locale=, dann einlang-Cookie, dann Accept-Language
Ausführen
Die CLI benötigt Node.js 22 oder neuer, sonst nichts: npx führt es aus, ohne ein package.json zum Projekt. Kein Node auf Ihrem Rechner? Die GitHub Action unten führt es für Sie aus.
npx localize-dev login
# Preview, then write the changes
npx localize-dev run --dry-run -l es,fr,de
npx localize-dev run -l es,fr,de
# Or open a pull request instead
npx localize-dev pr -l es,fr,deOder fügen Sie die GitHub Action und erhalten Sie bei jedem Push einen Pull Request. Probieren Sie es zuerst mit Ihrem eigenen Code im Spielbereich.