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 :

deux langues affichées


Sujet :

Langage PHP

  1. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    J'ai pas dit $_SESSION['$lang'], j'ai dit $_SESSION['lang'].
    C'est pas parce que j'ai tort que vous avez raison.

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Citation Envoyé par GregPeck
    Il manque un ; à la fin, mais cette ligne est juste dédié à te faire comprendre le pricinpe, tu ne dois pas la laisser.
    T'es sur que ça gène l'absence de; ? Je vois pas en quoi c'est obligatoire en fin de code et après un echo si y'a rien après. J'ai pas testé mais là comme ça ça me gène pas en tout cas.
    C'est pas parce que j'ai tort que vous avez raison.

  3. #23
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Php c'est pas javascript... on ferme toujours les instructions avec le ; ... si javascript est plutot cool avec ça ça n'en reste pas moins une erreur de programation... .. .

    @ tchaOo°

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    De toute façon je le fais dans mes scripts, là c'était pour l'exemple. C'est pas un grand mot erreur de programmation quand même ?
    C'est pas parce que j'ai tort que vous avez raison.

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par kankrelune
    Sinon tu fais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    $lang = 'fr';
     
    if ($_GET['lang'] == 'en')
      $lang = 'en';
     
    include('lang/'.$lang.'-lang.php');
    et dans tous tes liens tu ajoute... .. .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="...&lang=<?php echo $lang; ?>">...</a>
    @ tchaOo°
    je place ceci dans chaque page?
    au fait merci de votre patience

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Bah le mieux c'est d'essayer de piger ce que tu fais.
    Tu veux qu'une page P soit affichée soit en English soit en Français. Bon. Il va bien falloir choisir non ? Et il va bien falloir une variable pour déterminer le choix ,non? Si !
    Donc chaque page à afficher va avoir besoin d'une variable lui disant dans quelle langue elle doit être affichée. Donc cette variable doit être soit tout le temps présente dans la session soit tout le temps présente dans le lien. Mais une fois que tu l'as récupéré dans le lien, tu as plus besoin de faire la première partie.

    Ah mon avis pour savoir quelle langue ajouter dans le lien il faudrait faire, une fois avoir afficher la première variable en fonction du choix du form (récupéré via $_GET[] donc):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($fr)) {echo"$fr";} else {echo"$ang;}
    et ça dans l'url du lien.
    C'est pas parce que j'ai tort que vous avez raison.

  7. #27
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    @ psychoBob... non ce n'est pas un grand mot... même si ça marche il ne faut pas prendre de mauvaises habitudes... oublier le point à la fin de la phrase est une erreur de grammaire même si tout le monde comprend la phrase... .. .

    Le truc c'est que ?> remplace le ; donc si tu fais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    echo 'test';
     
    echo 'pwet'
     
    ?>
    ça passe mais si tu fais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    echo 'test'
     
    echo 'pwet';
     
    ?>
    Ca plante... .. .

    @ clovis200... tu met le code d'inclusion du fichier de language dans un fichier inclu par toutes les pages (genre header.php) et tu modifie tous les liens... c'est une façon de faire mais ce n'est pas forcement la plus simple vu qu'il faut modifier tous tes liens et formulaires... mais je crois que psychoBob a très bien résumé la chose... .. .

    @ tchaOo°

  8. #28
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    ça passe mais si tu fais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    echo 'test'
     
    echo 'pwet';
     
    ?>
    Ca plante... .. .
    La vache, heureusement que tu me l'as dis kankrelune ! lol
    C'est pas parce que j'ai tort que vous avez raison.

  9. #29
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    La solution de psychoBob est de loin la meilleur...

    Je ne parle pas de l'oublie de ;

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par psychoBob
    Bah le mieux c'est d'essayer de piger ce que tu fais.
    Tu veux qu'une page P soit affichée soit en English soit en Français. Bon. Il va bien falloir choisir non ? Et il va bien falloir une variable pour déterminer le choix ,non? Si !
    Donc chaque page à afficher va avoir besoin d'une variable lui disant dans quelle langue elle doit être affichée. Donc cette variable doit être soit tout le temps présente dans la session soit tout le temps présente dans le lien. Mais une fois que tu l'as récupéré dans le lien, tu as plus besoin de faire la première partie.
    Certe, ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &lang=<?php echo $lang;?>
    est sympa g bien aime sauf que moi je choisi l'anglais exemple je veux qui reste dans toute les pages

  11. #31
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Je pense que c'est mieux en même temps il risque de s'embrouiller avec les sessions, il va avoir le problème des id dans l'url etc....
    C'est pas parce que j'ai tort que vous avez raison.

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Citation Envoyé par clovis200
    Certe, ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &lang=<?php echo $lang;?>
    est sympa g bien aime sauf que moi je choisi l'anglais exemple je veux qui reste dans toute les pages

    j'ai édité mon poste au dessus, relis.


    **edit**
    Tiens :
    Ah mon avis pour savoir quelle langue ajouter dans le lien il faudrait faire, une fois avoir afficher la première variable en fonction du choix du form (récupéré via $_GET[] donc):
    Code :

    if (isset($fr)) {echo"$fr";} else {echo"$ang";}

    et ça dans l'url du lien.
    Faut tester mais ça me semble un peu du bricolage, perso j'aurais choisi les session. Enfin si ça fonctionne...
    C'est pas parce que j'ai tort que vous avez raison.

  13. #33
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    bon ca y est la je suis isset je isset mdrrrrrrrrr dans l'url mais bon je recupere la variable de ma page decide-lang.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
     
       if ($_GET['lang']=='fr'){           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php  
       include('/lang/fr-lang.php');  
       }     
       else if ($_GET['lang']=='en'){      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php  
       include('lang/en-lang.php');  
       }   
       else {                  // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut  
       include('lang/fr-lang.php');  
      }   
     
         ?>
    ensuite je fais un require de cette page dans ma page index.php jusque la tout ce traduit , bon je clique sur un lien vers produits.php et la g de nouveau du francais

  14. #34
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    pour rappel g employe le systeme define txt

  15. #35
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Je te l'ai dit au dessus.
    Tu affiches une fois en anglais ou français selon la variable. Mais après ta variable, puisqu'elle n'est pas en session, elle a DISPARU.
    Donc les autres pages se réaffichent en français. Donc tu DOIS la transmettre à chaque page.
    Si tu le fais en session c'est auto, si tu le fais dans l'url, tu dois écrire SOIT $ang SOIT $fr dans le texte des liens de la page qui réceptionne la variable. Ce afin que la variable soit de nouveau transmise à la page visitée en cliquant sur un lien.
    Pour ce faire tu testes la variable qui vient d'être réceptionnée et tu réaffiches la même dans l'url.

    Maintenant si le gars tappes une url dans la barre de navigation ou fait un retour, hop plus de variable t'auras la page par défaut, sauf si tu passes par un cookie ou une session.

    **edit**
    Vraiment le coup de la variable dans l'url c'est bidon, y'a les deux cas que je viens d'écrire, les formulaires et tout... le visiteur qui choisit anglais va sans arrêt se retrouver avec une page par défaut en français. Le mieux c'est la session et le cookie, quand il revient hop il est en anglais auto si tout ce passe bien.
    C'est pas parce que j'ai tort que vous avez raison.

  16. #36
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    le truc de la session j'aime bien sauf que je ne parviens pas a la mettre a execution avec ce que g

  17. #37
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Redonnes tout le script.
    C'est pas parce que j'ai tort que vous avez raison.

  18. #38
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par psychoBob
    Je pense que c'est mieux en même temps il risque de s'embrouiller avec les sessions, il va avoir le problème des id dans l'url etc....

    Moi c'est à ça que je pense... si l'internaute n'accepte pas les cookie ça risque d'être la merde... .. .

    Vraiment le coup de la variable dans l'url c'est bidon, y'a les deux cas que je viens d'écrire, les formulaires et tout... le visiteur qui choisit anglais va sans arrêt se retrouver avec une page par défaut en français.
    Bah non... pas s'il modifi manuellement ses liens ou fait ob_start('une_fonction'); après je suis comme toi je préfère l'idée des sessions mais ça dépend de ce que Clovis veut faire... .. .

    @ tchaOo°

  19. #39
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    ok t fin merci alors voici le script contenu dans la page nomme decide-lang.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
     
       if ($_GET['lang']=='fr'){           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php  
       include('/lang/fr-lang.php');  
       }     
       else if ($_GET['lang']=='en'){      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php  
       include('lang/en-lang.php');  
       }   
       else {                  // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut  
       include('lang/fr-lang.php');  
      }   
     
         ?>
    a savoir que les pages -lang.php contiennent les define TXT

    voici le debut de la page index.php en francais avec les echos 'define' txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    include('cms/admin/db_common.php');
    $db->connect();
    $query="SELECT item_name,item_id,item_pic,item_comment,rc_id from cms_shop_items WHERE item_new=1";
    $db->query($query);
    $num=$db->num_rows(); 
    $db->seek(rand(0,--$num));
    $db->next_record();
     
     require('decide-lang.php');
     
    ?>
    et le debut de la page produits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    include_once('cms/admin/db_common.php');
    include_once('cms/admin/functions.inc.php');
    $c=get_param('c');
    if (!$c) $c=4;
    $query="SELECT a.category,b.category  FROM cms_shop_cat a, cms_shop_cat b WHERE a.cat_id=b.parentid AND b.cat_id=".tosql($c);
    $db->query($query); 
    $db->next_record();
    $catparent=$db->f(0);
    $catname=$db->f(1);
    require("decide-lang.php"); 
     
     
    ?>
    qui ont des liens qui se multiplis dans al meme page donc il me faut un variable de session pour la langue

  20. #40
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 24
    Points
    24
    Par défaut
    au fait get_param est un variable de sesion, je ne peux pas l'integrer dedans? car je crains que ton script fasse defaut avec la session deja existante ou bien?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Un Fichier vidéo en deux langues
    Par stanley dans le forum Vidéo
    Réponses: 2
    Dernier message: 23/03/2008, 19h41
  2. résultats de deux requetes affichés ensembles
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/08/2007, 09h31
  3. [Tableaux] site en deux langues
    Par clovis200 dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 21h08
  4. site en deux langues
    Par clovis200 dans le forum Langage
    Réponses: 1
    Dernier message: 01/06/2006, 23h45
  5. Réponses: 10
    Dernier message: 30/05/2006, 16h33

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