IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Site Multi-Langue FR-EN


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut Site Multi-Langue FR-EN
    Bonjour à tous,
    j'aimerai créer un site en deux langues FR et EN et j'ai quelque difficultés, et j'ai besoin d'un peu d'aide.

    Comment intégrer le paramètre de la langue dans chaque lien?

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    Comme ça par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="une_page.php?langue=<?php echo $langue_choisie ?>">
    Il existe d'autres méthodes que de passer la langue dans le lien.

  3. #3
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    Merci pour ta réponse, oui mais j'ai une autre question, comment récupérer ce paramètre de langue? est ce que c'est depuis la page déjà ouverte ou bien il y-a une autre méthode.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Rahim-US Voir le message
    comment récupérer ce paramètre de langue? est ce que c'est depuis la page déjà ouverte ou bien il y-a une autre méthode.
    Je ne comprends pas ta question.

    Mais pour continuer sur ta question initiale tu peux laisser le choix avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Langue :
    <a href="?langue=FR">Français</a>
    <a href="?langue=EN">Anglais</a>
    Ensuite pour conserver le paramètre il faut mettre sur tous les liens de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="une_page.php?langue=<?php echo $_GET['langue'] ?>">
    Bien sûr au cas où $_GET['langue'] ne serait pas défini il faut déterminer en début de page une valeur par défaut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( ! isset($_GET['langue']) ) {
        $_GET['langue'] = 'FR' ; // FR par défaut
    }

  5. #5
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    Merci beaucoup pour ces détailles

    Une autre question sur ce code:
    Citation Envoyé par Séb. Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Langue :
    <a href="?langue=FR">Français</a>
    <a href="?langue=EN">Anglais</a>
    Est-ce que je peux modifier la langue d'une page sans passé par l'index? par exemple, si j'ai l'URL:
    http://www.mon-site.com/index.php?pa...load&langue=FR

    Comment je fais pour changer la langue sans aller à l'index? (en gardant le lien complet et en modifiant seulement FR en EN)

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Rahim-US Voir le message
    Comment je fais pour changer la langue sans aller à l'index? (en gardant le lien complet et en modifiant seulement FR en EN)
    Si tu as déjà des paramètres dans l'URL, comme tu le montres en exemple, alors il faut afficher le contenu de $_GET et changer $_GET['language'] au besoin.

    Ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Langue :
    <a href="<?php echo choose_language('FR') ?>">Français</a>
    <a href="<?php echo choose_language('EN') ?>">Anglais</a>
    Et la fonction choose_language( ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function choose_language($language)
    {
        $buffer = '?' ;
        foreach ( $_GET as $name => $value ) {
            if ( $name != 'language' ) {
                $buffer .= $name . '=' . $value . '&' ;
            }
        }
        return $buffer . 'language=' . $language ;
    }
    Si tu te trouves sur la page index.php?controller=articles&action=view tu obtiendras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Langue :
    <a href="?controller=articles&action=view&language=FR">Français</a>
    <a href="?controller=articles&action=view&language=EN">Anglais</a>
    Ainsi tu ne changes pas de page au choix d'une nouvelle langue.

  7. #7
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    mais là il m'affiche pas la index.php dans le lien
    index.php?controller=articles&action=view

    j'ai seulement le répertoire www.mon-site.com/folder/laguage=fr
    normalement ça doit être
    http://www.mon-site.com/folder/test....=st&laguage=fr

    voila l'exemple que j'ai testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html><head></head><body>
    <?php
    if (!isset($_GET['langue']) ) {
        $_GET['langue'] = 'fr' ; // FR par défaut
    }
     
     
    function choose_language($language){
        $buffer = '?' ;
        foreach ( $_GET as $name => $value ) {
            $buffer .= $name . '=' . $value . '&' ;
        }
        return 'langue=' . $language ;
    }
    ?>
     
    <a href="<?php echo choose_language('fr') ?>">FR</a><br /><br />
    <a href="<?php echo choose_language('en') ?>">EN</a>
    </body>
    </html>

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    Correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html><head></head><body>
    <?php
    if (!isset($_GET['language']) ) {
        $_GET['language'] = 'fr' ; // FR par défaut
    }
     
     
    function choose_language($language){
        $buffer = '?' ;
        foreach ( $_GET as $name => $value ) {
            if ( $name != 'language' ) {
                $buffer .= $name . '=' . $value . '&' ;
            }
        }
        return $buffer . 'language=' . $language ;
    }
    ?>
     
    <a href="<?php echo choose_language('fr') ?>">FR</a><br /><br />
    <a href="<?php echo choose_language('en') ?>">EN</a>
    </body>
    </html>

  9. #9
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    J'ai pas fais attention!! une erreur bête de ma part
    ca marche très bien comme ça Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation XML/XSL pour un site multi langues
    Par bigsister dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 22/01/2007, 16h36
  2. Site multi langue
    Par didarmor dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/12/2006, 22h42
  3. Problème site multi langues
    Par dolf13 dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2006, 12h05
  4. Réponses: 12
    Dernier message: 04/11/2005, 16h28
  5. Architecture d'un site multi-langues
    Par seben dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 25/09/2005, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo