IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

traduction dans un formType [2.x]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut traduction dans un formType
    Hello,

    Comme vous l'avez sûrement deviner dans le titre.
    J'ai un modèle de formulaire dans lequel je définis une selectbox comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $builder->add('sex' , 'choice' , array(
    		'choices' => array('F' => 'Féminin' , 'M' => 'Masculin')
    		));
    Evidemment je n'arrive pas à traduire 'Féminin' et 'Masculin' directement par les méthodes habituelles.

    Quelconque solution please?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,
    Tu peux utiliser le service "translator" dans ton controlleur (ou dans un service) puis le passer à ton formType soit par le controlleur, soit par le tableau d'options passé à createForm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //dans le controlleur
    $sex=array('M'=>$this->get('translator')->trans('Masculin'),
                      'F'=>$this->get('translator')->trans('Feminin') );
     
    $this->createForm(new MyEntityType(),$entity,array('sex'=>$sex);
    //dans MyEntityType
    function configure($builder,$options){
       $builder->add('sex' , 'choice' , array( 'choices' => $options['sex']));
    }
    Si tu utilise des boutons ratio tu peux aussi faire dans Twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {%for name,field in form.sex%}
        <label for="{{field.vars.id}}">{{field.vars.label|trans}}</label>
    	{{form_widget(field)}}
    {%endfor%}

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 96
    Points : 111
    Points
    111
    Par défaut
    Normalement ça se fait automatiquement, il faut juste ajouter les mots: ('Féminin' et 'Masculin') dans ton fichier de traduction.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    C'est ça, ou si tu utilises des ID de traductions, tu mets les ID en lieu et place des labels dans le FormType :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $builder->add('sex' , 'choice' , array(
    		'choices' => array('F' => 'TradIdForFeminin' , 'M' => 'TradIdForMasculin')
    		));
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    C'était exactement cela, merci beaucoup et désolé du retard dans ma réponse.

    Sujet résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/06/2010, 12h35
  2. gestion de traduction dans la base de donné
    Par yacine.dev dans le forum Merise
    Réponses: 3
    Dernier message: 28/01/2010, 16h34
  3. Association traduction dans code ?
    Par rad_hass dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 02/04/2009, 12h19
  4. Problème de traduction dans un panel
    Par nitrous007 dans le forum C#
    Réponses: 2
    Dernier message: 24/10/2007, 11h36
  5. Traductions dans BDS2006
    Par Patrick Seuret dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/04/2006, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo