Traduire ne signifie pas dupliquer le code
Ne créez pas un contrôleur par langue. Routes et règles métier restent communes; seuls messages, formats et certains contenus varient.
Langue et locale diffèrent
Une langue est le français ou l’anglais. Une locale comme fr_CA décrit aussi une région et ses formats. PHPAML accepte des identifiants compacts validés.
Planifier avant de traduire
Listez les textes, choisissez des clés stables, le défaut, le repli et la provenance de la locale : route, cookie ou Accept-Language.