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 en fonction de la locale [2.x]


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Traduction en fonction de la locale
    Je me décide à poster un message sur le forum car après des heures de recherches et de tests je ne parviens pas à résoudre mon problème.

    En fait je ne parviens pas à traduire mon site en fonction de la locale. Plus précisément la locale est bloquée sur 'en'.

    J'utilise Symfony 2.1 et j'ai bien suivi le guide https://github.com/symfony/symfony/b...httpfoundation, qui consiste à créer un listener pour injecter la locale à la fois dans le request et dans la session de l'utilisateur.

    De ce côté-là pas de problème, j'ai même injecté la locale dans l'url pour avoir des urls du type monsite.fr/fr et monsite.fr/en (ça fonctionne). Dans l'onglet Request de mon profiler j'ai bien '_locale : fr' à la fois comme attribut du request et de la session.

    Par contre si dans mon template j'essaye d'afficher {{ app.request.locale }} il m'affiche systématiquement 'en'. Du coup lorsque je suis en 'fr', il ne va pas me chercher les traductions dans mon fichier 'fr' mais dans le 'en' (le nommage de fichier est bon car lorsque je supprime celui en anglais il va bien chercher la trad dans celui en français).

    config.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    framework:
        translator:      { fallback: %locale% }
        default_locale: %locale%
    parameters.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    parameters:
        locale: fr
    Une chose que j'ai remarquée et qui je pense est importante. J'utilise FOSUserBundle pour la gestion de mes utilisateurs, et si je ne suis pas connecté, je parviens à afficher la bonne locale. Une fois connecté plus moyen d'afficher du 'fr'.

    Autre chose, j'ai commencé à paramétrer mon entité Article avec l'extension Doctrine Translatable. Je ne l'utilise pas encore mais peut-être que ça peut poser un problème également.

    Est-ce que quelqu'un a déjà eu le problème ou voit d'où ça peut venir ?

    Merci d'avance,

    Guillaume

  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,

    As tu essayé de désactiver ton listener (celui qui est présenté dans le Symfony upgrade a un default locale en anglais, le problème vient peut-être de là).

    Ce listener est plutôt prévu lorsque l'on fait un passage de SF2 à SF2.1 si tu développe ton appli directement avec le 2.1, en passant la locale dans les url, tu ne devrais pas en avoir besoin.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Ok ça fonctionne ! Merci beaucoup.
    J'avais mal compris la doc, j'étais persuadé que désormais avec la 2.1 la seule solution pour avoir un site multilingue était d'utiliser le listener... Je pouvais continuer à chercher longtemps =)

    Encore merci !

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

Discussions similaires

  1. Traduction de fonctions PHP en Javascript
    Par ePsymon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/01/2009, 09h02
  2. validation saisie de date en fonction de la locale
    Par Watier_53 dans le forum Struts 1
    Réponses: 34
    Dernier message: 23/10/2008, 15h32
  3. validation date en fonction de la locale
    Par Watier_53 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/10/2008, 10h20
  4. Traduction des fonctions Excel
    Par Toison dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/11/2007, 08h20
  5. [Mail] Tester la fonction mail en local
    Par fk04 dans le forum Langage
    Réponses: 2
    Dernier message: 23/05/2006, 10h52

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