Partage
  • Partager sur Facebook
  • Partager sur Twitter

Adapter mon site à plusieurs langues

    24 mars 2019 à 11:20:26

    Bonjour chers membres du forum.

    Comme le suggère le titre de mon post, j'ai créé un site avec HTML et CSS et je souhaite l'adapter à plusieurs langues. C'est à dire laisser aux visiteurs la possibilité de choisir la langue dans laquelle ils liront le site. Je reste convaincu que plusieurs avant moi ont déjà rencontré le problème donc je vous remercie d'avance pour vos pistes de solutions.

    • Partager sur Facebook
    • Partager sur Twitter
      24 mars 2019 à 14:07:27

      Bonjour MarkusJohnson1

      C'est très simple, si vous voulez par exemple faire la langue anglaise doit dupliquer le site sur un sous-dossier / en /, vous traduisez le contenu,  après  placé le drapeau anglais dans le header de la version française. et vous faites la même chose pour d'autres langues

      • Partager sur Facebook
      • Partager sur Twitter

      Exterminateur a montreal possède   tous les compétences nécessaires

        24 mars 2019 à 15:17:36

        Bonjour EmiliLadjet, merci pour votre réponse, je vais déjà commencer par traduire le site dans les différentes langues. Par contre le reste de vos indications restent un peu floues pour moi. Sans vouloir vous importuner, je veux vous demander d'être un peu plus précise.

        Merci beaucoup

        • Partager sur Facebook
        • Partager sur Twitter
          25 mars 2019 à 14:01:38

          Bonjour

          Je pense que ce qu'a voulu dire EmiliLadjet est de prevoir un dossier supplémentaire par langue.

          Par exemple le dossier racine pour la langue de base, puis un dossier EN pour l'anglais ou tu y dupliques ton site racine et en traduisant tout le contenu.

          Ensuite par exemple dans ton header, tu mets l'image du drapeau EN avec le lien qui mène a ton dossier EN qui donnera comme adresse http://tondomaine.fr/en/

          ++

          • Partager sur Facebook
          • Partager sur Twitter
            26 mars 2019 à 1:09:20

            Merci pour vos réponses, je vais tester le concept, j'espère que je ne vais pas trop galérer. 

            Ma confusion venait du fait que j'assimilais le header dont vous parliez au header dans le code mais je pense que vous voulez parler de l'entête même du site, c-a-d la partie visible par le visiteur.

            Merci beaucoup 

            • Partager sur Facebook
            • Partager sur Twitter
              26 mars 2019 à 9:16:19

              Salut ,

              Sinon tu peux faire autrement une technique bien moins lourde mais en utilisant du Php . 

              Si intéressé je t'en dirai plus ;)

              A+

              • Partager sur Facebook
              • Partager sur Twitter
                26 mars 2019 à 12:36:36

                Bonjour

                Je ne sais pas si l'auteur serait interessé par contre moi oui :p 

                ++

                • Partager sur Facebook
                • Partager sur Twitter
                  26 mars 2019 à 14:58:49

                  Hahaha Palmito, l'auteur est bien intéressé seulement avec le PHP c'est les vraies choses qui commencent :).

                  Sinon tu peux envoyer ta solution Thibaud, Merci d'avance.

                  Je tiens aussi à remercier Emilie et Palmito parce que j'ai pu y arriver à ma façon grâce à vos conseils. C'est vrai que je trouve ça fastidieux et rigide mais ça me dépanne bien en attendant de devenir un pro du PHP.

                  Merci

                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 mars 2019 à 9:47:27

                    Okayy c'est un peu long mais pourquoi pas . Quand je dis moins lourdes 'est non seulement pour le chargement de la page mais surtout pour le maintient , devoir modifier une seule chose pour 3 page c'est ingérable ;)

                    config.php
                    <?php
                        session_start();
                    
                        if (!isset($_SESSION['lang'])){
                            $_SESSION['lang'] = "fr";
                    
                        }else if (isset($_GET['lang']) && $_SESSION['lang'] != $_GET['lang'] && !empty($_GET['lang'])){
                                if($_GET['lang'] == "fr"){
                                    $_SESSION['lang'] = "fr";
                                }else if ($_GET['lang'] == "esp"){
                                    $_SESSION['lang'] = "esp";
                                }else if ($_GET['lang'] == "uk"){
                                    $_SESSION['lang'] = "uk";
                                }else{
                                    $_SESSION['lang'] = "fr";
                                }
                        }
                    
                        require_once "langage/" . $_SESSION['lang'] . ".php";
                        //echo "Ta langue". $_SESSION['lang'];
                    
                    
                    ?>

                    Ici tu vas créer un fichier de config où tu vas définir toutes les langues que tu veux .

                    Ensuite pour ma part je fais un dossier 'langage' dans lequel je vais mettre mes trad genre français anglais etc... 

                    Du coup j'ai uk.php fr.php esp.php Dans ces fichiers je vais tout simplement écrire le texte dans la langue voulu donc 

                    uk.php

                    ?php
                    
                        $langFooter = array(
                            // pour le footer
                            "footer_entrprise" => "ENglish",
                            "footer_ressource" => "Mother ",
                            "footer_solution" => "Footer",
                            "footer_contact" => "!!",
                            "footer_linkedin" => "Linkedin link ",
                            "footer_copyright_1" => " All rights reserved | | ",
                            "footer_copyright_2" => "Legal Notice|"
                        );

                    Il s'agit là d'un tableau mais pourquoi tout simplement car dans mes pages .php où il y avait le texte j'ai changer le texte par des

                    <?php echo $langFooter['footer_entrprise']?>

                    Alors comme tu peux voir ce qui est entre crochet indique juste le mot English (si le site est bien en anglais )

                    A la place  dece qu'il y a entre crochet tu peux mettre ce que tu veux tant qu'ensuite dans ton tableau tu dises que la clef a telle valeur la clef c'est ce que tu écris entre crochet et la valeur c'est ce qui va être affiché EN GROS ...

                    En fr , dans le fr.php 

                    <?php
                    
                        $langFooter = array(
                            // pour le footer
                            "footer_entrprise" => "2 *",
                            "footer_ressource" => "Vive ",
                            "footer_solution" => "La ",
                            "footer_contact" => "France",
                            "footer_linkedin" => "Nous suivre sur linkedin",
                            "footer_copyright_1" => " Tous droits réservé |   | ",
                            "footer_copyright_2" => "Mentions Légales|"
                        );

                    Donc en réalité tout ton texte tu devras l'écrire dans tes fichiers de trad .

                    Oublie pas de faire des include de ton config.php là où tu veux plusieurs langues (tes pages devront alors être en .php)

                    Une fois tout ça il manque une dernière chose c'est de choisir ta langue 

                    <select name="nimporte" onChange="location.href=''+this.options[this.selectedIndex].value;" >
                    		           <option><?php echo $langNav['nav_li_a6']?></option>
                    		           <option  value="?lang=uk">ENGLISH</option>
                    		           <option  value="?lang=fr"><span id="imgFR"> FRENCH </span> </option>
                    		           <option  value="?lang=esp">SPANISH</option>
                    		           
                    		           
                    		       </select>

                    J'ai mis un peu de js mais c'est pour le menu déroulant normalemetn tu peux faire un simple href=?lang=fr

                    Voila je suis pas forcément très clair mais au moins ça permet d'avoir une base sur quoi dialoguer




                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 avril 2019 à 8:58:26

                      Sinon, utiliser Gettext est une très bonne solution pour internationaliser son site

                      https://www.grafikart.fr/tutoriels/internationaliser-site-gettext-104

                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 mai 2019 à 12:48:06

                        Waouh ça semble vraiment intéressant mais je pense que je n'ai pas encore le niveau, je vais garder ça dans ma gibécière et sortir ça en son temps.

                        Merci beaucoup à vous

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Adapter mon site à plusieurs langues

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown