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 , Changer locale Symfony2.36


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut traduction , Changer locale Symfony2.36
    Bonjour ,
    je veux mettre dans ma page deux drapeau de langues ,
    Aprés des recherches :
    j'ai ajouté une service : LocaleListener dont le code est le suivant , ensuite je l'ai declaré dans service.yml
    Je sais plus quoi faire pour que je peux changer la locale sachant que j'ai ajouté les messages de translations et j'ai verifié la disponibilité manuellement .

    Merci d'avance .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    class LocaleListener implements EventSubscriberInterface
     {
        private $defaultLocale;
     
        public function __construct($defaultLocale = 'en')
        {
            $this->defaultLocale = $defaultLocale;
        }
     
        public function onKernelRequest(GetResponseEvent $event)
        {
            $request = $event->getRequest();
            if (!$request->hasPreviousSession()) {
                return;
            }
     
            if ($locale = $request->attributes->get('_locale')) {
                $request->getSession()->set('_locale', $locale);
            } else {
                $request->setLocale($request->getSession()->get('_locale', $this->defaultLocale));
            }
        }
     
        static public function getSubscribedEvents()
        {
            return array(
                // must be registered before the default Locale listener
                KernelEvents::REQUEST => array(array('onKernelRequest', 17)),
            );
        }
    }

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    ton listener prend la locale de la session, et dit a ta request d'utiliser cette locale.

    Donc il te suffit de faire un traitement qui change la locale en session au clique sur un drapeau. un contrôleur tout simple par exemple

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    merci gototog vous avez compris ce que je cherche mais moi j'ai pas compris comment resoudre .
    as - tu un bout de code qui peut servir ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    please help

Discussions similaires

  1. Changer locale de connexion
    Par nutopia dans le forum Informix
    Réponses: 2
    Dernier message: 17/11/2012, 16h52
  2. [Localize] ou se trouve les traductions
    Par Gregory.M dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/11/2008, 14h23
  3. [edtFTPj] Changer de répertoire local
    Par dimitris dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 24/09/2008, 12h11
  4. Pb Erreur changer MDP Admin local via domain
    Par kenji_lol dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 27/06/2008, 17h36
  5. [Locale] Changer de Locale
    Par shima dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 30/06/2004, 16h34

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