We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 5811
    • 1,717 Posts
    Souhaitant un site en plusieurs langues (fr,en,es) j’ai développé un snippet appelé L10n (pour localisation) qui pourrait peut être intéresser d’autres personnes ...

    Le snippet L10n permet de :
    - de changer de langue, via un menu de sélection.
    - de construire le menu de sélection de la langue à partir de la liste des langues disponibles
    - stocker et retrouver la langue selectionnée par l’utilisateur dans un coockie
    - de retourner la langue courante utilisée.
    - de retourner le fichier de langue (francais-utf8,spanish-utf8,...) associé à la langue
    - de charger la table $_lang associé à un site (sous-ensemble de documents
    - de localiser le format des dates & des heures (LC_TIME) selon la langue
    - de traduire des labels (équivalent de gettext)

    Les paramètres du snippet sont :

    l10nPath : permet de changer la localisation du snippet. /assets/snippets/l10n/ par défaut
    config : permet de charger un fichier de configuration
    css : permet de changer de fichier css. /css/l10n.css par défaut
    l10nId : identifiant unique permettant d’identifier un ensemble de pages utilisant le même fichier $_lang
    recLn : enregistrement de la langue courante dans un snippet
    lnArg : nom de l’argument langue. ’ln’ par défaut
    lnPattern : format de l’argument langue. [a-z][a-z] par défaut
    setL10n : charge le fichier language et localise les dates
    lnDir : permet de changer le répertoire ou se situe le fichier langue
    select : construit le menu de sélection de la langue
    selectionTpl : permet de changer le template de selection. $l10nPath.’tpl/selection.tpl’ par défaut
    getLn : retourne le paramétre langue courant
    getLang : retourne le fichier de langue utilisé
    text : retourne la traduction du label. (=gettext)
    lnNames : initialise la liste des langues possibles. ’fr,es,en’ par défaut
    lnFiles : initialise la liste des fichiers langues associés. ’francais-utf8 spanish-utf8 english-utf8’ par défaut
    lnLocales : initialise la liste des variables ’locales’ possibles. ’fr-FR es-ES en-UK’ par défaut

    N’hésitez pas à regarder le code, l’usage des paramètres y est largement commenté (in english).

    Ce qui manque encore ...:
    plusieurs type de templates de selection. Exemple désignation d’un drapeau pour le choix de la langue.

    Les limites : valables uniquement pour traduire des labels ou de court textes. Evite d’avoir à faire un document Modx par langue. En attendant la version multi-langue de Modx grin

    Utiliser Firefox car j’ai encore des bugs avec IE. Changer la langue du site pour voir les effets sur le menu (wayfinder), la recherche (Ajaxsearch), les galeries (maxigallery), la page de contact (eform), le livre d’or (jot) et les pages du site.

    L’installation: le fichier zip joint contient le répertoire l10n à dézipper sous snippets.

    Le répertoire assets/snippets/l10n/doc contient différents exemples de documents modx permettant d’appréhender l’usage possible du snippet :

    - un fichier readme.txt (ce texte)
    - un exemple de template de modèle de page : template_example.html
    - un exemple de template maxigallery modifié (cf champ description) : maxigallery_picturetpl_l10n.html
    - un exemple de template eform (contactForm) : eform_contactForm_tpl.txt
    - une copie d’écran pour un exemple de document modx : screenshot_L10n_document.jpg
    - un exemple (très classique) de fichier langage : spanish-utf8.inc.php

    Si cela peut être utile à d’autres ...
    Je suis aussi preneur de possibles suggestions d’évolutions ou de remarques.
      • 16732
      • 592 Posts
      Vue la démo ça à l’air très bien tout ça !!

      Je mets ton snippet en haut de ma liste de tests, car le multi langue, avec le système de gestion des utilisateurs, c’est une des deux seules faiblesses de MODx.
        • 11975
        • 2,542 Posts
        Salut,

        j’ai pas regardé encore ton snippet mais je pensais aussi faire un petit quelque chose dans ce sens en utilisant phx et cchunkie class de bS pour creer des placeholders du type
        [*chaine:lang*]

        :-)

        P.S: pas sur que ce soit comprehensible pour ceux qui n’ont jamais utilisé cchunkie class


          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 5811
          • 1,717 Posts
          Je crois comprendre l’utilisation qui pourrait effectivement être fait en utilisant des placeholders au lieu de faire un appel de snippet. Où puis je me procurer la classe cchunckie ? Je crois qu’elle est mise en oeuvre dans maxigallery mais est ce la derniere version ? Sinon où puis je la trouver ?
            • 11975
            • 2,542 Posts
            Salut,

            cchunkie est distribué avec JOT et PHx.
            Télécharge la dernière version de l’un des deux pour obtenir la classe à jour

            :-)
              Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
              • 36624
              • 535 Posts
              excellent !
              j’ai justement un petit site en 4 langues avec une galerie d’image à faire et je cherchais une solution qui soit simple... je vais tenter ma chance avec ton code smiley
                CTRL+SHIFT+U - Clear Cache
                CTRL+SHIFT+H - Hiding Heft Panel
                CTRL+SHIFT+N - Fast Create Resource
                CTRL+ALT+P - Preview Recource (in edit resorce window)
                CTRL+ALT+S - Save
                • 21101
                • 169 Posts
                yeah enfin un snippet multilanguage qui a l’air vraiment prometteur !! smiley

                va falloir que je teste ça aussi
                  Play no games
                  • 2472
                  • 151 Posts
                  Salut,

                  Je convertis actuellement mon site fr en multi-langue fr/nl en utilisant la methode expliquée dans le wiki: http://wiki.modxcms.com/index.php/Make_Multi_Lingual_Site

                  Dans l’ensemble c’est très simple et élégant comme solution. Un problème non pris en compte toute fois ce sont les pages ’système’ comme la 404 - document non trouvé, la page qui indique que le site est HS, etc. Elles sont configurés dans le manager et affiché par le moteur Modx directement.

                  Perso j’ai pondu un snippet basé sur Redirect à qui je donne l’id d’une page fr suivie de celle en nl. Il lit mon cookie et charge la page adhoc. Je mets juste le snippet dans le document et il fait une redirection vers la page localisée.

                    A thing of beauty is a joy forever ( John Keats)
                    • 6726
                    • 7,075 Posts
                    Comment ai-je pu rater ça !

                    Aussi au top de ma liste de test, excellent sur le principe smiley
                      .: COO - Commerce Guys - Community Driven Innovation :.


                      MODx est l'outil id
                      • 6726
                      • 7,075 Posts
                      J’ai pas encore testé... je confesse !
                      Avant de tester, y a t-il des progrès là dessus ?

                      C’est un snippet qui pourrait devenir la clé du multi-linguisme alors si vous pouvez vous y mettre, testez, aidez !
                      Moi je vais essayer d’apporter ma contrib en testant, et aussi en le mettant en avant auprès de la dév team...
                        .: COO - Commerce Guys - Community Driven Innovation :.


                        MODx est l'outil id