We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 4831
    • 57 Posts
    bonjour
    j’ai installé DittoCal. tout va bien sauf que je voudrais mettre les jours en français.
    J’ai essayé &language=`francais` dans l’appel de la snippet
    [!Ditto?startID=`44` &language=`francais` &summarize=`100` &format=`json` &dateFormat=`%d-%m-%Y` &sorDir=`desc`!]

    mais ça ne fonctionne pas : le json génère bien le stream avec language= français mais à l’affichage
    [!DittoCal? &calSource=`http://127.0.0.1/modx-0.9.2.1/json_output` &dayNameLength=`3`&firstDay=`1`!]


    j’ai une erreur (pas du parser mais info de la snippet qui dit que quelque chose ne va pas.)
    j’ai pas réussi à trouver où la snippet prenait le nom des jours...
    si vous avez des idées...
    d’avance merci !

    update : j’ai résolu une partie du pb : en passant mon site en UTF 8 le stream json est correcte. Le calendrier ne s’affiche pas pour autant
      • 4831
      • 57 Posts
      alors personne n’a trouvé le moyen d’afficher les jours en français avec dittocal ?
        • 33175
        • 711 Posts
        Je n’ai pas encore testé ce snippet mais à partir des infos que tu donnes, je penserai pour un problème de caractères français qui ne passent pas en js. Peut-être que les caractères (é, è, ç, etc.) ne sont pas en entités html.

        Je précise que c’est une idée wink
          Sorry for my english. I'm french... My dictionary is near me, but it's only a dictionary !
          • 4831
          • 57 Posts
          oui c’est aussi la piste à laquelle je pense
          de toutes façon j’ai un pb de fond avec Ditto, son fichier français et mon site codé en caractère windows iso western machin.
          j’hésite à tout passer en utf 8
          je ne sais pas qu’elles sont les contraintes ensuite.
          enfin plus précisément pour DittoCal je n’arrive pas à trouver d’où proviennent les noms des jours... est ce que celà vient du serveur web, de PHP ou est ce qu’ils sont intégrés quelques part dans le snippet... de ce côté j’ai cherché mais je n’ai pas trouvé.

            • 22221
            • 283 Posts
            Il y a de forte chance que le nom des jours soit donnée par la fonction PHP date() qui utilise une variable globale pour savoir quel langage est utilisé. Pour le français il faut quelque part dans le code PHP la ligne
            setlocale (LC_TIME, "fr_FR");

            Le mieux est de la mettre dans le fichier langue de MODx pour que tous les module ou snippet en profitent. C’est ce qui est fait dans les fichiers langues mis à dispositions sur le forum ou le wiki francophone (à choisir en fonction de ta version de MODx).
              • 4831
              • 57 Posts
              dans un autre post sur ditto j’ai vu la commande setlocale (LC_ALL, ’fr_FR’);
              j’ai essayé les deux... marche pas.
              Dans DittoCal l’appel des date se fait avec cette ligne :
              $day_names[$n] = ucfirst(gmstrftime(’%A’,$t)); #%A means full textual day name

              le pb : je suis en local avec easyphp.(en français)
              y’a ptet un pb de config de php ?
              j’ai regardé le calendrier qui est généré avec le snippet newspublisher par exemple ou les date de commentaires de jot
              tous les mois/jours sont aussi en anglais...
              pourtant j’ai bien mis setlocale (LC_ALL, ’fr_FR’); ou setlocale (LC_TIME, "fr_FR"); dans le fichier francais.inc.php situé dans manager/include/lang de modx...
              d’avance merci de votre aide (je suis passé en utf-8 et ditto marche mieux en français y’a plus un caractère bizarre au début)
                • 33175
                • 711 Posts
                LC_TIME est utilisé pour franciser uniquement les dates et les heures.
                LC_ALL est est utilisé pour tout franciser.
                Regarde la fonction setlocale sur le site de PHP, il y a des informations claires smiley

                La fonction date() ne tient pas compte de setlocale() contrairement à strftime (et ses dérivé comme gmstrftime). Normalement, ça devrait fonctionner. Je crois que NewsPublisher n’utilise pas strftime() mais date(), ce qui expliquerait que les mois restent en anglais.

                Si Ditto marche mieux en français depuis que tu es passé en UTF-8, il se pourrait que ce soit parceque ta configuration Modx est pour Windows Iso Western ... et que ton fichier de langue est en UTF-8. 2 solutions dans ce cas, changer le fichier de langue français UTF-8 par le fichier ISO ou configurer Modx pour utiliser UTF-8.
                  Sorry for my english. I'm french... My dictionary is near me, but it's only a dictionary !
                  • 23050
                  • 1,842 Posts
                  Contre toute attente, insérer
                  setlocale (LC_ALL, "fr_FR"); 
                  au début du snippet DittoCal fonctionne bien.

                  J’avais peur que cela ne fonctionne pas car j’avais testé avec Ditto et Reflect et ça avait été l’anarchie... une bonne chose tout ça ^^
                    • 4831
                    • 57 Posts
                    mettre ça dans le snippet... comment j’ai fait pour ne pas y penser plus tot... moi j’ai créer des variables pour que le snippet récupère les jours... bref tout un binz... vais essayer ça
                    merci perrine