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 :

[Cookies] Faire un site bilingue en PHP


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Par défaut [Cookies] Faire un site bilingue en PHP
    Salut! :p Je poste ce petit sujet d'aide car j'aimerai faire un petit site perso bilingue, je souhaiterai qu'avec un simple clic sur un lien, on passe du langage French au langage English, je sais déja qu'il faut utiliser les cookies pour ça, mais niveau utilisation de cookies, je suis pas top .

    Je voudrais aussi savoir comment faire pour remplacer le texte français par un texte anglais s'il est séléctionné sans pour autant créer plusieurs pages french et english (index-fr.php, index-en.php...), vous voyez a peu près mon problème?

    J'éspère obtenir de l'aide car j'en ai bien besoin^^

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Salut,

    Les cookies ne t'aideront pas sauf à conserver le choix de l'utilisateur entre plusieurs visites.

    Pour gerer , la navigation sur le site et la conservation du choix, il te faudra transmettre le choix de la langue de page en page. Soit via un paramètres supplémentaire ou alors en utilisant les sessions. La deuxième solution étant bien évidemment la plus approprié.

    Pour les textes, ce que je fais génarelement ( et que j'ai vu ailleurs aussi ) c'est e creer toutes tes zones de textes sous forme de variable php. Ces variables seront définis dans un fichier include. Un par langue
    Au début de chaque fichier tu inclus le fichier de langue en fonction du choix de l'utilisateur.

    En esperant avoir répondu à tes attentes
    Pierre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Par défaut
    Oui, je sais bien pour les cookies (en fait, je me suis mal exprimé là dessus )

    Sinon, j'ai pas tellement compris la manière pour utiliser les variables pour le choix de la langue en include, c'est un peu flou, tu pourrais un peu plus developper ça? Voir même me donner un exemple de code histoire de voir ce que cela donne si ça te gène pas.

    Merci en tout cas pour ta réponse

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    salut ! ici un très bon tuto !

    http://www.aidejavascript.com/article117.html

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Par défaut
    Merci pour le site mais malheureusement, c'est pour un site avec des mots courts tels que les formulaires, moi c'est tout le site que je veux traduire

  6. #6
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Je reprends :

    Tu recherches tous les textes de ton site et tu les remplaces par des variables php

    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $MsgBienvenue;
    Ensuite, tu crées les fichiers de langage
    lang_fr.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $MsgBienvenue = 'Bienvenue';
    et ainsi de suite pour les autres langues ( lang_en.php, etc....)

    Maintenant, il faut que dans chaque page tu inclus le fichier correspondant à la langue choisit par l'utilisateur

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($lang == 'fr' ) require_once 'lang_fr.php';
    else require_once 'lan_en.php';
    Pour le choix de la langue, j'utilise généralement des sessions. L'utilisateur choisit sa langue en cliquant sur le petit drapeau et va sur la page index.php?LANG=fr

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    session_start();
    if (isset($_REQUEST['LANG']) ) {
    $_SESSION['lang'] = $_REQUEST['LANG'];
    }
    $lang = $_SESSION['lang'];
    Edit : Merci à Orb Dorb pour la correction

  7. #7
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    Citation Envoyé par Linon
    Merci pour le site mais malheureusement, c'est pour un site avec des mots courts tels que les formulaires, moi c'est tout le site que je veux traduire
    tu n'a pas de fonction qui traduit tes texte... cest a mon avis le seul et le meilleur moyen ! si tu as un grand texte tu créer une variable $textPageXXX = "blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla ...";

  8. #8
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Par défaut
    le mieux c'est de faire des traductions dans la BDD pour les textes dynamiques et de faire un fichier de config FR et ANG contenant la traduction des textes statiques comme le disait FCYPBA. Ca se fait très bien avec Smarty ce genre de truc.

    Tu peux aller voir aussi de ce coté page 4 :
    http://g-rossolini.developpez.com/tu...?page=sommaire

  9. #9
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Citation Envoyé par FCYPBA
    Je reprends :

    Tu recherches tous les textes de ton site et tu les remplaces par des variables php

    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $MsgBienvenue;
    Ensuite, tu crées les fichiers de langage
    lang_fr.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $MsgBienvenue = 'Bienvenue';
    et ainsi de suite pour les autres langues ( lang_en.php, etc....)

    Maintenant, il faut que dans chaque page tu inclus le fichier correspondant à la langue choisit par l'utilisateur

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($lang == 'fr' ) require_once 'lang_fr.php';
    else require_once 'lan_en.php';
    Pour le choix de la langue, j'utilise généralement des sessions. L'utilisateur choisit sa langue en cliquant sur le petit drapeau et va sur la page index.php?LANG=fr

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    session_start();
    if (isset($_REQUEST['LANG] ) {
    $_SESSION['lang'] = $_REQUEST['LANG'];
    }
    $lang = $_SESSION['lang'];
    Salut, j'ai fait tout sa et j'avais donc dans ma page ce code : qui marchait, maintenant, je le met plus dans ma page mais dans lang_fr.php et la plus rien, sa ne me met plus le texte pour ce code :

  10. #10
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Je comprend vraiement pas pourquoi sa marche pas.

  11. #11
    Membre averti
    Inscrit en
    Août 2005
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 43
    Par défaut
    j'ai débuté le PHP hier, mais je peux déjà te répondre :
    en début de chaque page tu fais un include du fichier langue voulu (d'après ta session) avec un if ou un truc du genre
    et à chaque fois que tu as un texte, tu vas le chercher dans ton fichier qui répertorie toute tes string.

    mais ne traduit pas tes noms de variables

    Memes
    http://www.vincent.enchine.free.fr/

  12. #12
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Si je puis me permettre d'apporter deux corrections pour le script de session plus haut qui pourrait décourager un débutant comme moi et éviter de poster à nouveau une parse error...

    Il manque un apostrophe et une parenthèse sur la ligne 3 soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    session_start();
    if (isset($_REQUEST['LANG'] )) {
    $_SESSION['lang'] = $_REQUEST['LANG'];
    }
    $lang = $_SESSION['lang'];
    ?>
    Bon codage à tous.

  13. #13
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par kevinf
    Salut, j'ai fait tout sa et j'avais donc dans ma page ce code : qui marchait, maintenant, je le met plus dans ma page mais dans lang_fr.php et la plus rien, sa ne me met plus le texte pour ce code :
    Encore une fois, kevinf, ta question est incompréhensible !
    Donne un vrai extrait de code (et pas seulement une variable !), et rédige correctement tes questions.
    Un dernier conseil avant d'être vraiment désagréable : peux-tu réfléchir quelques minutes avant de poster ?

  14. #14
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Allo vg33,

    C'est un vieux post que j'ai corrigé.

    Donc, je crois que tu ne devrais pas perdre ton temps avec la soluce.

    Bonne journée.

  15. #15
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Bonjour,

    Comment faire pour transmettre la langue en parametre ?
    ex : http://www.developpezestunsupersite....ex.php?lang=FR ?

    merci

  16. #16
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    C'est pas très précis comme question...

    C'est pour faire un lien?
    Ou Pour le mettre automatiquement?

    Pour automatiquement, tu vérifie si il y a bien la variable LANG, si non, tu la met.

  17. #17
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Désolé, dans ma tête ca ne l'était pas non plus

    Enfaite, je voudrais que lorsque je passe la variable en paramètre grâce à un lien <a href="/index.php?lang=fr></a> cette page se charge automatiquement !
    Comment faire ?

  18. #18
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Quel page doit se charger automatiquement?
    index.php ou la page qui contient le langage en francais?

    Si c'est le langage en francais, fais un require ou include en fonction de la variable LANG

  19. #19
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Index.php

    Voici comment je procède :

    1. Detection de la langue grâce au navigateur.
    2. Chargement du fichier correspondant à la langue afin de donner les bonnes valeurs au variables. ex : langue : ANGLAIS -> $accueil = "home";
    3. Chargement de l'index.php avec le contenue en anglais pour rester dans l'exemple de la langue anglaise.

    merci

  20. #20
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Et quel est ton problème, car là tout à l'air de marcher selon ton exemple.

Discussions similaires

  1. faire un site web en php
    Par tiesto95 dans le forum Langage
    Réponses: 3
    Dernier message: 19/03/2009, 14h04
  2. Faire un site bilingue
    Par Mehdi_32 dans le forum Langage
    Réponses: 5
    Dernier message: 11/07/2008, 14h42
  3. Site bilingue français/arabe en PHP
    Par lola123 dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2008, 17h00
  4. Faire un site bilingue
    Par phoque.r dans le forum Langage
    Réponses: 5
    Dernier message: 12/04/2007, 16h17
  5. Choix ? Faire son site en perl ou php ?
    Par bakonu dans le forum Général Conception Web
    Réponses: 17
    Dernier message: 07/10/2005, 17h10

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