cccp Posté 31 Août 2005 Posté 31 Août 2005 Salut les gars ! Sur mon site j'ai la proposition de changer la langues en cliquant sur les drapeux. Comment peut on faire pour changer les images dans le header avec chois de la langues? Merci d'avance
KaRaK Posté 31 Août 2005 Posté 31 Août 2005 Kikou Un truc dans ce genre te donneras peut etre une idée switch(VARIABLE_LANGUE) { case "francais": print("<img src=\"drapo-french.jpg\" alt=\"\"/>"); break; case "anglais": print("<img src=\"drapo-anglais.jpg\" alt=\"\"/>"); break; default: print("<img src=\"drapo-french.jpg\" alt=\"\"/>"); break; }
cccp Posté 1 Septembre 2005 Auteur Posté 1 Septembre 2005 (modifié) Salut et Merci pour ta reponse ! J'ai pas compris comment faire?! Moi j'ai un petit menu dans le fichier menu.php en haut de mon site(header) avec seulement une image: <img src="menu.gif" width=777 height=108 border=0 usemap="#index_Map"> Et dans ma page index.php j'ai donc 2 images de choix de la langues: <input name="submit12" type="image" img src="images/english.gif" alt="english" width="18" height="12" value="fr|en" > et <input name="submit13" type="image" img src="images/deuch.gif" alt="german" width="18" height="12" value="fr|de" > En cliquant ça me traduit ma page avec google. Alors comment faire pour que l'image du menu en haut change selon la langues choisié? Merci encore! Modifié 1 Septembre 2005 par cccp
Verticrawl Posté 1 Septembre 2005 Posté 1 Septembre 2005 Bonjour, Votre probleme est de choisir (et de connaitre) la langue a un instant T... Option1 : monsite.com/fr/* monsite.com/de/* monsite.com/en/* avec tout vos fichiers derriere la langue...vous savez toujours dans quelle langue vous être (voir variable $_SERVER dans phpinfo() ). Option 2 : Vous lisez la langue de l'utlisateur et la stocker dans $_SESSION[LANGUE]="fr"; Tant que session ="fr" vous affichez fr Si clic sur Drapeau en alors $_SESSION[LANGUE]="en"; Trop facile.... Avec un bon MODREWRITE on peut faire des merveilles ;-) Bon dev
TheRec Posté 1 Septembre 2005 Posté 1 Septembre 2005 (modifié) Trop facile.... <{POST_SNAPBACK}> Ce genre de remarque remet bien les néophytes en place, mais en même temps ça n'aide personne à part toi... Concernant l'utilisation d'une variable de session ($_SESSION) cela peut être un bon moyen dans le cadre d'un système utilisant DÉJA les session mais difficilement justifiable pour un simple système de langue. Pour avoir un code portable il faudrait passer l'ID de session entre les pages...et dans ce cas pourquoi ne pas simplement passer une variable genre ?lang=fr ... (et pourant c'est simple et logique hein Verticrawl ?) Le rewritting te servira beaucoup dans le référencement de tes pages dans toutes les langues... Il faut encore penser à toujours avoir une langue si l'utilisateur ne la précise pas, personnellement je procède ainsi : $settings['allowed_lang'] = array("Français"=>"fr","English"=>"en");$currentlang = (isset($_GET['lang']) && in_array($_GET['lang'],$settings['allowed_lang'])?strtolower($_GET['lang']):"fr"); Et de ceci découle lgiquement le préfixage our le suffixage de tes image avec ce code à deux lettres. Donc pour afficher une image tu procède ainsi : <img src="nomimage-<?php echo $currentlang; ?>.jpg" alt="Description de l'image" /> Modifié 1 Septembre 2005 par TheRec
cccp Posté 2 Septembre 2005 Auteur Posté 2 Septembre 2005 Merci ! Mais ou j'inserre ça? $settings['allowed_lang'] = array("Français"=>"fr","English"=>"en");$currentlang = (isset($_GET['lang']) && in_array($_GET['lang'],$settings['allowed_lang'])?strtolower($_GET['lang']):"fr"); j'ai pas compris?
Verticrawl Posté 7 Février 2006 Posté 7 Février 2006 Ce genre de remarque remet bien les néophytes en place, mais en même temps ça n'aide personne à part toi... Concernant l'utilisation d'une variable de session ($_SESSION) cela peut être un bon moyen dans le cadre d'un système utilisant DÉJA les session mais difficilement justifiable pour un simple système de langue. Pour avoir un code portable il faudrait passer l'ID de session entre les pages...et dans ce cas pourquoi ne pas simplement passer une variable genre ?lang=fr ... (et pourant c'est simple et logique hein Verticrawl ?) Le rewritting te servira beaucoup dans le référencement de tes pages dans toutes les langues... Il faut encore penser à toujours avoir une langue si l'utilisateur ne la précise pas, personnellement je procède ainsi : $settings['allowed_lang'] = array("Français"=>"fr","English"=>"en");$currentlang = (isset($_GET['lang']) && in_array($_GET['lang'],$settings['allowed_lang'])?strtolower($_GET['lang']):"fr"); Et de ceci découle lgiquement le préfixage our le suffixage de tes image avec ce code à deux lettres. Donc pour afficher une image tu procède ainsi : <img src="nomimage-<?php echo $currentlang; ?>.jpg" alt="Description de l'image" /> <{POST_SNAPBACK}> Votre demarche est fausse puisque la langue (dans votre exemple) doit etre determine a l'avance (internaute ou navigateur)....Hors, ceci doit etre une variable de session qui se balade de page en page. C'est donc une donnee qui est determinee et transmise entre pages.. Developpe en ajoutant un "?lang=truc" releve de la tres mauvaise idée puisque l'internaute peux choisir "lang=ru" dans l'url et vous plantez votre site... Vous devez avoir la maitrise de la langue et donc choisir une langue par defaut. Relisez ce que j'ai ecris et vous verez que chaque element a son importance. il et clair que le multi-langue n'est pas a la porte du debutant [cqfd]. methodologiquement cela vous permet aussi (avec un meme script) d'afficher X langues sans modifier 1 bout de code. pour cela voir www.123emploi.com
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant