Documentation · Chapitre 11

Résoudre la locale sans fuite d’état.

LocaleResolver considère route, cookie et en-tête du navigateur selon l’ordre configuré, puis applique un repli sûr.

Chaque leçon part du problème, explique le mécanisme puis propose une vérification concrète.

Ordre de résolution

Un préfixe de route peut dominer, puis un cookie mémorisé, puis Accept-Language. Une valeur non prise en charge retombe sur le repli.

phpaml — zsh
$translator->get('books.greeting', ['name' => $name]);
$translator->choice('books.count', $count, ['count' => $count]);

Utiliser des traducteurs immuables

withLocale() retourne un traducteur propre à la requête. Ne mutez pas un traducteur partagé dans une application longue durée ou concurrente.

URL et SEO

Les pages localisées exigent des URL stables, html lang correct, alternates si utiles et un contenu équivalent.