Docs / Laravel
Localisation Laravel pour Blade, automatisée
Déplacez le texte durcodé dans les vues Blade de Laravel vers des appels __() avec les traductions de lang/<locale>.json indexées par le texte, en une seule commande ou demande de tirage.
Comment ça marche
Le texte dans les vues Blade devient {{ __('Hi :name, welcome back', ['name' => $user->name]) }} : chaînes de traduction JSON de Laravel, indexées par le texte lui-même, avec des placeholders :name.
Les directives comme @if divisent les phrases ; les adresses e-mail ne sont pas confondues avec des directives.
Les pluriels ({{ $n == 1 ? 'item' : 'items' }}, Str::plural('item', $n)) deviennent trans_choice(':count item|:count items', $n), chaque langue utilise ses formes dans l'ordre choisi par Laravel.
Avant et après
La sortie réelle du moteur pour ce fichier. Lors d'une exécution réelle, le modèle hébergé nomme les clés à partir du contexte.
@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"
}Ce que l'installation ajoute
La première exécution configure Chaînes de traduction Laravel si le projet ne l'a pas encore :
lang/<locale>.jsonpour chaque langue- Un middleware
SetLocaledans le groupe web :?locale=, puis un cookielang, puis Accept-Language
Exécutez-le
La CLI nécessite Node.js 22 ou une version ultérieure, rien d'autre : npx l'exécute sans ajouter de package.json au projet. Pas de Node sur votre machine ? L'action GitHub ci-dessous l'exécute pour vous.
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,deOu ajoutez le Action GitHub et recevez une pull request à chaque push. Essayez-le d'abord sur votre propre code dans le playground.