I18n du routing pour les modules d’admin Symfony
L'internationalisation d'une application (i18n) consiste à servir les pages dans la langue de l'utilisateur. Par défaut, les modules d'admin de Symfony gèrent l'i18n. Ainsi, il est simple de traduire ces modules. Dans cet article je vais vous expliquer :
- comment gérer plusieurs langues pour l'interface de vos modules d'administration en indiquant la langue dans l'URL
- et comment basculer en un clic d'une langue à une autre.
Cet article est écrit pour Symfony 1.4 avec l'admin-generator Doctrine. Nous utiliseront également le plugin sfLanguageSwitchPlugin.
Plugin sfDoctrineAdminGeneratorWithShowPlugin pour Symfony 1.4
Une question récurrente sur les forums traitant du framework Symfony :
A quoi sert le paramètre with_show dans le fichier generator.yml ?
Aussi surprenante soit-elle, la réponse usuelle à cette question est :
Par défaut, à rien...
Alors comment afficher les détails d'un objet dans une page d'administration sans que celles-ci soient modifiables ? il est bien nécessaire d'activer l'action show. Les plugins sfDoctrineAdminGeneratorWithShowPlugin et sfPropelAdminGeneratorWithShowPlugin ont été créés pour compenser ce manque. Malheureusement ils ne fonctionnent que pour Symfony 1.2 et 1.3.