We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17329
    • 53 Posts
    Bonjour,
    J’ai une variable de template a valeur date avec le format suivant "%A %d %B". Sur le site j’utilise [*EventDate*] pour l’afficher et elle s’affiche correctement "Thursday 01 January" mais en anglais.
    Comment faire pour l’afficher en Francais.

    Le site est deja configuer en Francais-utf8 et l’encodage en utf8.
    Merci
      • 19638
      • 39 Posts
      D’après
      Il faut utiliser quelque part la commande php suivante :
      setlocale(LC_ALL, 'fr_FR');


      Pour ma part je fait comme suit :
      1) je crée une template variable ’setdatelocalefr’ :
      @EVAL setlocale(LC_ALL, 'fr_FR');

      2) je fait appel à [*setdatelocalefr*] depuis le début du template et voila toutes mes dates sont en français (pour tous les snipnets si ils sont bien programmés).


      Voir : http://modxcms.com/forums/index.php/topic,10830.0.html
        • 17329
        • 53 Posts
        Vraiment super comme truc !
        Ca marche maintenant sans probleme.
          • 23050
          • 1,842 Posts
          Merci miniwark... voilà une solution simple pour avoir les dates en FR partout !

          Souvent, le setlocale dans les snippets ne suffisaient pas (cf Ditto) et il fallait le remettre à chaque fois.
            • 6726
            • 7,075 Posts
            Alors ça c’est une belle trouvaille, à publier côté english pour que tout le monde en profite smiley
              .: COO - Commerce Guys - Community Driven Innovation :.


              MODx est l'outil id
              • 19638
              • 39 Posts
              Et voilà smiley :
              http://wiki.modxcms.com/index.php/Internationalization

              Yapuka à ajouter d’autres infos sur cette page ;-)
                • 17329
                • 53 Posts
                A noter que la locale fr_FR marchait sur ma machine mais pas chez mon hebergeur.
                En regardant la liste des locales installees chez eux j’ai trouve que je dois utiliser
                @EVAL setlocale(LC_ALL, ’fr_FR.UTF-8’);

                Qui marche aussi localement.

                  • 20488
                  • 353 Posts
                  comme la discussion le suggère, j’attire votre attention sur le fait que la fonction setlocale retourne une nouvelle configuration locale. Cela signifie que l’implémentation de ce type de technique, bien que fort courante, est fortement tributaire de la configuration du serveur. Attention donc en cas de migration de serveur...
                  Attention en outre à la portée de cette fonction puisqu’elle peut agir sur de nombreux paramètres serveur. Plus d’infos ici :http://fr2.php.net/setlocale
                    • 6726
                    • 7,075 Posts
                    A l’usage les résultats produits via cette méthode ne sont pas totalement homogènes... probablement des problèmes liés au cache mais j’ai la date alternativement en français puis anglais... undecided

                    Question : serait-il possible d’en faire un plugin afin que la page soit systématiquement parsée avec la bonne locale ?
                      .: COO - Commerce Guys - Community Driven Innovation :.


                      MODx est l'outil id
                      • 20966
                      • 130 Posts
                      Désolé de ce déterrage de topic hors normes mais j'ai le même problème que toi davidm.
                      Sur une page j'ai à la fois la date en français et ensuite en anglais

                      J'ai mis un Snippet de langue en haut de chacun de mes templates
                      setlocale(LC_TIME, "fr_FR.utf8");


                      Ensuite j'affiche une date pour tester dans mon Snippet, elle s'affiche bien en francais, pas de probleme, par contre par la suite quand j'affiche un TV contenant une date dans le contenu
                      [[*content]] 
                      de ma page de cette manière
                      [[*DateDebut:strtotime:date=`%e %B`]] 
                      la date s'affiche en anglais.

                      Une idée huh
                      Merci
                        Webmaster of 4 site on MODx Revolution
                        MODx user since MODx 0.9.6
                        http://about.me/narno07