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

PHP & Base de données Discussion :

Gestion d'une page multi-langage


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 532
    Par défaut Gestion d'une page multi-langage
    Bonjour ou bonsoir a toutes et tous

    J'ai actuellement un site internet qui marche plutôt bien mais qui est seulement en français, et dans un souci de développement je souhaiterai créer une version anglaise de mon site.

    Pour l'instant, si pour un fichier fait en français, par exemple la page d'accueil, j'ai créé un nouveau fichier pour la version anglais.

    La question que je me posait est: est-ce que je pourrai plutôt créer un seul fichier en même les deux version dedans et pouvoir gérer leur affichage un peu sur le principe d'un if en C. Je m'explique avec un exemple

    Si i = 1
    alors on affiche la version française
    sinon
    on affiche la version anglais

    Je sais que c'est pas du C mais du PHP comme langage mais est-ce que vous savez s'il y a quelque chose d'équivalent s'il vous plait

    Merci d'avance,
    Cordialement,
    Clairetj

  2. #2
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Bonjour,

    Oui ce genre de structure existe effectivement en PHP (exactement la même syntaxe qu'un programme c à part le $ devant les noms de variable et le fait que ce ne soit pas typé).

    Il faut voir si le mod_rewrite est actif sur ton hébergement, et aussi de quelle manière tu veux t'y prendre pour mettre en place cette structure, mais tu peux éventuellement envisager de passer le paramètre lang dans l'url :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($_GET['lang']) and $lang === 'fr'):
    ....
    else: //en
    ....
    endif;

  3. #3
    Membre éclairé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 532
    Par défaut
    Merci Théocrite pour ta réponse, et est-ce que je me permettre de te déranger

    Dans mon cas, je voudrais mettre l'image du drapeau anglais pour la version anglais, drapeau français pour la version française.
    Si on appelle le drapeau anglais anglais.jpg et le drapeau français francais.jpg est ce que tu pourrais me mettre un exemple de la fonction que tu as utiliser.

    Une autre question subsidiaire, est-ce que la variable sera une variable global ou locale, c'est a dire si je clique sur la version anglaise d'une page et qu'après je change de page, je tomberai sur la version anglaise de la nouvelle page directement ?

  4. #4
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Pas de soucis, les questions ne dérangent pas !

    Par contre il faudrait que j'en sache plus sur la structure de ton site... Histoire de voir dans quelle mesure la solution que je vais t'apporter est bonne !

    Donc dans l'idée, on peut déjà commencer assez simple. Prenons l'accueil, disons index.php.

    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
    23
    24
    25
    26
     
    <?php if(isset($_GET['lang']) and $lang === 'fr'): ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html lang="fr">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<title>Titre en Français</title>
    </head>
    <body>
            <a href="/page2.php?lang=fr">Page 2</a>
            <a href="/index.php?lang=en">Drapeau anglais</a>
    </body>
    </html>
    <?php else: ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html lang="en">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<title>English title</title>
    </head>
    <body>
            <a href="/page2.php?lang=en">Page 2</a>
            <a href="/index.php?lang=fr">French flag</a>
    </body>
    </html>
    <?php endif; ?>
    Tu noteras au niveau de la balise <html> la mention du langage (en ou fr), la balise <title> et autre meta type description à ne pas oublier, et enfin les contenus avec les liens (?lang=fr|en et l'inverse pour le lien drapeau).

  5. #5
    Membre éclairé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 532
    Par défaut
    Je reviens un peu sur ce problème qui est résolu mais j'aurais voulu un avis.

    Là, ma question portait sur la structure IF mais je voulais savoir s'il est plus simple d'utiliser une structure IF ou alors une structure SWITCH qui, dans mon cas, pourrait remplir la même fonction ?

  6. #6
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    En effet tu aurais pu utiliser un switch, avec un case en et un default, mais ça aurait été moins joli je pense...

    Après c'est plus une question de syntaxe, mais c'est vrai que là le if/else/endif (avec l'utilisation des ":" et du end) permet de garder tout le php sur une seule ligne à chaque fois, et ainsi d'être bien structuré.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/03/2007, 10h11
  2. Gestion d'une page web HTML/PHP
    Par amine_en_france dans le forum Langage
    Réponses: 9
    Dernier message: 06/03/2007, 11h37
  3. JEditorPane + gestion des frame d'une page HTML
    Par rprom1 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 21/12/2006, 17h08
  4. [texte] gestion de l'affichage d'une page
    Par guy2004 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 10/07/2005, 18h37
  5. Réponses: 34
    Dernier message: 25/03/2005, 22h59

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