Internationaliser le filtre 'is_empty' de l'admin generator

Publié le par Sacri

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.

Publié dans Astuce

Commenter cet article