We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 22221
    • 283 Posts
    Je voudrai ouvrir une réflexion autour de l’internationalisation des éléments de MODx (j’entends par éléments : snippet, plugin et module de MODx).

    En effet, MODx 0.9.5 beta 5 ne comporte presque plus de de chaine de caractère codées en dure. De plus, des snippets comme Ditto ou eForm sont des modèles dans le genre. Le but de ce sujet est d’essayer de ce mettre d’accord sur un standard et de de le proposer à tous les développeurs.

    Je lance en vrac des questions et d’éventuelles solutions :

    1 - Fichier langue ?
    A priori il semble quasiment acquis de stocker les fichiers dans un répertoire lang propre à chaque élément de MODx. le fichier devra commence par le nom de la langue (exemple francais.####.php ou francais-utf8.####.php)

    2 - Correspondance entre fichier langue et la version de l’élément ?
    Comment être sur que le fichier langue que l’on utilise correspond à celui de la version en cours d’utilisation ?
    - Simplement un indiquant la référence de la version de l’élément dans la traduction
    - Un peu plus sur : en ajoutant la signature (MD5) du fichier de référence
    - Encore mieux, en ajoutant des tests de cohérences comme le fait MODx dans la version 0.9.5 : être prévenu si la taille des tableau ne sont pas identiques. Reste à savoir comment remonter l’information en cas de non cohérence.

    3 - Livraison des fichiers de traductions ?
    Aujourd’hui les fichiers de traductions sont mis à dispositions dans le forum. Ne pourrait on pas imaginer pour les fichiers matures de demander aux développeurs de les intégrer avec l’élément. Les version beta ou release candidate seront utilisées pour mettre à jour les fichiers de traductions.

    4 - Répartition des traductions.
    Il est claire qu’il n’est pas possible de migrer toute les chaines de caractère dans des fichiers langues. Une grosse partie peut être aussi migrer dans des chunk pour les élément utilisant des modèles. Il faudrait établir un guide pour les nouveaux développeurs pour expliquer clairement ce qui devrait aller dans le fichier de traduction et dans un chunk.

    5 - Choix de la langue, pour chaque éléments il doit etre possible de choisir la langue. Voici les méthodes envisagées :
    - à l’aide d’un paramètre : si vide ou invalider on prend la langue par défaut (english)
    - Mieux, si le paramètre est vide ou invalide, on utilise la langue paramétrée dans le panneau de configuration
    - Encore Mieux ? Utiliser les paramètres du navigateur pour choisir une langue. Ce qui peut être utile à ceux qui font de la localisation.

    6 - Site de démonstration en francais.
    Avec toutes les traductions d’éléments ou de modèles nous devrions être en mesure de produire le site de démonstration de MODx complètement en francais. Est-ce que cela a un intérêt de le diffuser et de le maintenir ?

    7 - Répository et statistiques :
    Il faudrait connaitre la liste des snippet pret pour l’internationalisation et ceux qui sont indispensables à faire évoluer. Pourquoi pas imaginer un répository (celui de MODx ou un extérieur) avec la précision des langues disponibles et si possible avec une description traduite ?


    Vous pouvez maintenant vous lacher pour vos commentaires.
      • 6726
      • 7,075 Posts
      J’ai épinglé ce post très intéressant merci d’avoir pris les rennes sur ce coup là grin

      J’ai aussi pris la liberté de renommer "Internationalisation des éléments de MODx" en "Réflexion autour de l’internationalisation des éléments de MODx", qui va sûrement attirer plus de réaction et de lecteurs smiley

      Je n’ai pas le temps de répondre là maintenant mais je le ferai très certainement un peu plus tard !
      Plein de bonnes choses dans ce que tu proposes / soulève !!
        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l'outil id
        • 20488
        • 353 Posts
        Une question que je me pose depuis que je connais les snippets : pourquoi ne pas créer des fichiers XML relatifs au snippet ?

        Je pense qu’il serait interressant de créer pour chaque snippet un répertoire de ce type :

        - MONSNIPPET
        ------- INCLUDES
        ------ monsippet.inc.php
        ------- LANGUAGES
        ------- VARS
        ------ french.xml
        ------ english.xml
        ------- SNIPPET_TXT
        ------ french.xml
        ------ english.xml


        Dans INCLUDES se trouveraient les finchiers appelés par le snippet.

        Dans le répertoire VARS se trouveraient les fichiers de langue permettant de définir les variables à utiliser pour ce snippet (pratique pour la génération automatique d’une documentation par exemple) .

        Dans le répertoire SNIPPET_TXT se trouveraient les fichiers de langues relatifs aux textes générés par ce snippet.

        Certes ce n’est qu’une idée et cela demande à la fois un gros effort au niveau de la création du snippet et de l’intégration de ce type d’architecture dans le core (définition de la dtd notamment), mais les problèmes d’internationalisation seraient rapidement évités puisque la traduction de la langue mère serait dissociée dans un fichier propre à la langue.

        Ce n’est qu’une petite idée et en l’état actuel, je pense qu’il serait assez difficile d’implémenter rapidement ce type d’architecture.

        Mais sait-on jamais... wink

        ++

          • 27889
          • 415 Posts
          Réflexion quand tu nous tiens.

          Je pensais à une chose, c’est de regrouper les traduction au sein d’un même fichier lang de MODx,
          par exemple du style :
          [tt]fr[’next’]=’suivant’
          it[’next’]=’suivant_en_italien:)’
          ...[/tt]
          , ou dans un très bien venu fichier xml.
          Cette solution ne serais bien sur envisageable uniquement pour les mots basiques, je ne crois pas que l’utilisation pourrait être faite pour des snippet, modules ... requérant des mots/phrases spécifiques, à moins que lesdits snippets, modules puissent y ajouter facilement les éléments à traduire, mais il se poserait le problème d’une gestion en amont de ce fichier. Un snippet pourrait-il modifier une traduction pour un mot déjà présent, ...
          L’avantage de centraliser les traduction est bien évidement une mise à jour simplifiée, il est en effet pénible de télécharger une nouvelle version d’un snippet, de courrir ensuite sur le forum pour trouver la mise à jour du fichier de langage et finalement la faire approximativement (dans mon cas) soi-même.

            MODx Sites & Prestations: http://dp-site.fr [Last MODx Site]
            MODx Repository: [HOME] [MetaTagsExtra] / Current Dev: [xFDM]
            • 23478
            • 133 Posts
            Bonjour

            Je réponds, venant de me cogner deux traductions sur modX (Dito et Jot) ... autant Jot c’est l’horreur, autant dito, c’est simple et élégant wink

            Bon quelques réponses que je pourrais faire :

            1 - Fichier langue ?
            oui ... 100 fois oui !
            * pour les phrase courtes, ne pas hésiter à mettre un exemple de contexte dans lequel elles seront utilisées ( 3 out of 5 se traduit en 3 sur 5 )
            * faire attention aux trucs qui s’emploient dans deux sens en anglais mais se traduisent par deux mots différents en français (me souviens plus, il y avait un exemple concrêt sur SMF ou de 2 chaines identiques en anglais (un verbe et un nom)... mais induisant des erreurs de traductions vu qu’il y avait eu confusion lors de l’utilisation... du coup la traduction française n’est pas belle)

            2 - Correspondance
            je suis pour les numéro de version dans les en tête !
            un système trop complexe ça va :
            * ralentir le site
            * être source de bug
            au pire (si le webmaster ne fait pas ses mises à jour comme il faut ou si le pack de langue met du temps à sortir).... on risquera des (petits bouts de) chaines non traduites ... bof ...

            si vraiment on a peur que les pack de langue soient incomplets, on peut faire un include de l’anglais puis un include de la traduction...
            comme ça, au pire si une phrase n’est pas traduite, elle est définie en anglais.
            Si elle est traduite (cas normal) la traduction écrase la V.O.

            3 - Livraison
            Pour moi, il faudrait clairement un pack langue fourni dans la section download du site.
            A la limite, on pourrait envisager que l’install possède toutes les langues et n’installe que celles demandées lors du processus...
            mais déjà avoir un pack de langue complet wink ça serait bien

            4 - Répartition
            toute traduction dans les chunks nuisent à la possibilité d’aovir un vrai site international.
            La seule façon (à mon avis) d’avoir un site internationnal c’est de pouvoir changer la langue "à la volée"

            aprés (rapidement)
            je ne suis pas pour le répertoir VARS d’olivier... les variables sont les variables ...
            si tu dois changer le nom de tes variables quand tu as un visiteur anglais suivi d’un visiteur italien huh

            et maintenant, il faut que je file (j’espère ne pas avoir écris trop de b^tises)
              • 30897
              • 311 Posts
              Bonsoir,

              Tout ça me semble très intéressant, mais est-ce que quelque chose a été entrepris pour mettre à la disposition de tous les traductions de tous les éléments de MODx avec les versions et autres informations ?
              Pour le moment c’est tout de même assez difficile de trouver ces informations car le forum n’est pas un endroit approprié pour entreposer des fichiers de la sorte.
                TylerD - In MODx we trust
                [Derni