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

Plugins PHP Discussion :

[sfDoctrineGuard] Internationalisation (i18n)


Sujet :

Plugins PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut [sfDoctrineGuard] Internationalisation (i18n)
    Bonjour,
    je ne souhaite pas que mon site sois multilangue, mais j'aimerai quant meme faire des traductions pour le module sfDoctrineGuardPlugin.

    j'ai donc modifié mon fichier settings.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    all:
      .settings:
        i18n:                   on
        default_culture:        fr (ou fr_FR)
    j'ai vu que le plugin avait nativement un fichier xml de traduction disponlible pour les langues fr et es. Je l'ai donc modifié pour correspondre à mes attentes.
    J'ai supprimé le cache (php symfony cc), manuellement et le cache et cookies du navigateur. Rien n'y fait, ca ne fonctionne pas. J'ai donc ensuite créé avec la commande: php symfony i18n:extract backend fr --auto-save un fichier messages.xml, je l'ai également modifié (je suis sure des <source> (auto génération)) pour le même résultat rien... j'ai toujours ma page d'authentification en anglais. J'ai bricolé le fichier BasesfGuardAuthActions.class.php dans plugins/sfDoctrineGuardPlugin/modules/sfGuardAuth/lib pour afficher la culture par defaut (echo $this->getUser()->getCulture()) et j'ai bien 'fr' d'affiché dans ma page de connexion. J'avoue désespérer un peu.
    Ensuite si un jour par miracle j'arrive à traduire les données, comment fait on pour traduire les notice ou error ? l'autogénration de messages ne me les propose pas !!
    voilou je suis dans le caca
    Je m'y prend mal ? si vous avez des idées, elles sont les bienvenues.
    Wind

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    J'ai peut-être été un peu vite tout à l'heure.

    Attention, c'est le form qui sont systématiquement prêtes pour fonctionner en internationalisée, pas particulièrement sfGuard. Il n'y a donc aucun code particulier dans sfGuard pour internationaliser. Il n'est absolument pas nécessaire d'apporter la moindre modification au plugin.

    Il faut recopier le fichier sf_guard.fr.xml dans le dossier i18n de l'application (suivant le cas frontend, backend ou les deux).

    Il faut modifier les configurations du setting, ce que tu sembles avoir fait.

    A vérifier, dans le dossier : cache/<application>/dev/config tu as un fichier : config_setting.yml. Vérifie que la configuration mise dans ton setting.yml pour le i18n s'y retrouve bien. Le chemin n'est valable que pour le dev.

    Tu as aussi un dossier cache/<application>/dev/i18n/... qui doit être peuplé de trucs bizarre. C'est, je pense, un des trucs mal nettoyés par la commande cc. Mais il doit y en avoir d'autres.

    Lance ton application en mode debug (dev) et vérifie dans la barre de debug si l'utilisateur a bien fr pour culture (fr pas fr_FR).

    Si tu n'as toujours rien, tu peux vérifier si les zones a traduire sont bien vue en modifiant le fichier factories.yml et en rajoutant dans la zone debug

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dev:
      ...
        i18n:
        param:
          debug: true
    Ce qui va entourer les zones qui cherchent à être traduite et ne le sont pas de [T].

    Si ça ne marche pas... c'est un peu mystérieux la i18n, je ne suis toujours pas sur de toujours savoir pourquoi cela marche... Il m'arrive de m'énerver dessus plusieurs heures, puis, cela marche. En général (chez moi) une fois que cela c'est mis à marcher cela continue... A condition de bien manuellement vider le cache à chaque modification des traductions.

    En passant rapidement sur le fichier de traduction je pense qu'il y a une erreur sur le "username" qui devrait être "username or email".

    Reste la possibilité d'un cierge, mais pas sur le clavier

    Encore un truc. Dans le dossier i18n de l'application tu peux soit avoir le fichier "xxxx.fr.xml" soit un dossier "fr" avec dedans un fichier "xxxx.xml" a priori les deux marchent. J'utilise la deuxième par pure agrément personnel.

    Bonne chance.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    Bonjour, merci pour ta réponse
    je viens de copier le contenu sf_guard.fr.xml dans messages.xml et je n'ai que la dernière traduction du fichier xml qui fonctionne...
    c'est un bon début
    à quoi sert le numéro id dans trans-unit ?
    Wind

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    han ça marche...
    j'ai modifié dans mon fichier _signin_form.php tous les appels aux traductions exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php echo __('Remember me', null, 'sf_guard'); ?>
    devient
    <?php echo __('Remember me'); ?>
    du coup je pense il va les chercher au bon endroit.
    ha moins qu'il faille configurer le plugin en fr pour que ça fonctionne "normalement". Mais la je vois pas comment.
    Wind

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Non, il n'y a rien de configurable a ce niveau là dans le plugin.

    Par contre je ne suis pas sur de comprendre d'où vient un partial _signin_form.php, mais je n'ai pas cherché non plus.

    Tant mieux si cela marche.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    le partial vient du plugin, je n'ai fait que le redéfinir comme indiqué dans la doc. Ca me permet de bidouiller mon html comme je le souhaite sans toucher au plugin.
    Au fait j'ai trouvé "le pourquoi du comment que ca fonctionne pas bien" mes traductions: Il aime pas les accents dans le fichier xml, il faut tout écrire en utf8, sinon rien ne marche.
    Cyril

  7. #7
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Du plugin, mais bien sur...

    Faut que j'arrête de traiter 20 messages en simultanés....

    Effectivement, il faut que tout soit en utf-8 si tu ne veux pas d'ennuis, l'output, les fichiers, la base,...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    merci pour ton aide en tout cas (comme d'hab ^^)
    Wind

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

Discussions similaires

  1. probleme Internationalisation i18n
    Par Ymaaddi dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 29/03/2014, 21h55
  2. Internationalisation (i18n) des textes
    Par rawsrc dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 9
    Dernier message: 20/08/2011, 17h54
  3. [1.x] Admin generator et internationalisation i18n
    Par mino26tz dans le forum Débuter
    Réponses: 1
    Dernier message: 07/04/2011, 10h02
  4. Réponses: 1
    Dernier message: 21/07/2006, 14h59
  5. [I18N] internationalisation ne marche pas
    Par gloglo dans le forum Struts 1
    Réponses: 44
    Dernier message: 31/05/2006, 10h59

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