Quel développeur symfony ne s'est pas posé cette question : comment internationaliser le filtre 'is_empty' de l'admin generator ?
Vous trouverez plusieurs solutions sur le net mais il y en a une que j'apprécie fortement et je vais vous en faire profiter :
- ajoutez la fonction privée
__($string) dans le fichier
/path_du_projet/lib/filter/doctrine/BaseFormFilterDoctrine.class.php :
protected function __($string) {
sfProjectConfiguration::getActive()->loadHelpers(array('I18N'));
return __($string, array(), 'sf_admin');
}
- dans chaque fichier des filtres de votre modèle (
/path_du_projet/lib/filter/doctrine/ModelFormFilter.class.php) :
$this->widgetSchema['champ']->setOption('empty_label', $this->__('is empty'));
- ajoutez dans le fichier
/path_du_projet/apps/votre_app/i18n/sf_admin.fr.xml (si vous n'utilisez pas ce fichier, n'hésitez pas à le récupérer dans le répertoire
/path_de_symfony/plugins/sfDoctrinePlugin/i18n/sf_admin.fr.xml) :
<trans-unit>
<source>is empty</source>
<target>est vide</target>
</trans-unit>
Cette méthode fonctionne pour toutes les traductions nécessaires et peut servir un peu partout.