Qu’est-ce que la localisation
La localisation de Laravel offre un mécanisme pratique pour récupérer des chaînes traduites dans plusieurs langues. Utile pour prendre en charge plusieurs langues dans votre application. Deux formats sont disponibles :Le répertoire
lang n’existe pas par défaut. Publiez-le via lang:publish.Configuration de la locale
Locale par défaut
Définie vialocale dans config/app.php, typiquement pilotée par APP_LOCALE.
fallback_locale : locale utilisée en secours si la traduction n’existe pas.
Changer la locale à l’exécution
App::setLocale() change la locale pour la requête.
Consulter la locale actuelle
Créer les fichiers de langue
Format PHP
Créez un fichier PHP danslang/{code}/. Retournez un tableau clé/valeur.
Format JSON
Recommandé quand il y a beaucoup de chaînes. Créezlang/{code}.json.
Choix entre PHP et JSON
Cas idéaux pour le format PHP
Cas idéaux pour le format PHP
- Organisation par fonctionnalité (messages de validation, etc.)
- Personnalisation des traductions intégrées de Laravel (
validation.php,auth.php) - Besoin d’une hiérarchie de clés
Cas idéaux pour le format JSON
Cas idéaux pour le format JSON
- Beaucoup de textes d’UI, sans envie d’inventer des clés
- On écrit l’anglais dans les templates et on gère les autres langues via traduction
- Internationalisation ajoutée après coup
Lire les traductions
Helper __()
Le plus courant. En PHP, notation fichier.clé.
Dans Blade
Utilisez{{ __() }}.
Placeholders
Vous pouvez inclure des placeholders:nom.
Pluralisation
Les règles de pluriel varient selon la langue. Laravel utilise| pour distinguer singulier et pluriel.
Pluriel simple
trans_choice().
Plages
Vous pouvez préciser des plages.Placeholders dans le pluriel
:count affiche la quantité. Passez d’autres valeurs en 3ᵉ argument.
Surcharger un fichier de langue d’un package
Pour surcharger un fichier fourni par un package tiers, placez un fichier de même nom danslang/vendor/{package}/{locale}/.
Pour personnaliser les messages anglais du package skyrim/hearthfire :
Exemple : middleware français / anglais
Middleware qui bascule la locale selon la session, la préférence utilisateur ou l’URL.1
Créer le middleware
2
Implémenter
3
Enregistrer le middleware
Dans
bootstrap/app.php.4
Route de changement de locale
5
Boutons de switch dans Blade
Exemple d’organisation des fichiers
Récapitulatif
Définir des traductions
Définir des traductions
Fonctions et façades courantes
Fonctions et façades courantes
Utilisation dans Blade
Utilisation dans Blade