|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité(e)
Messages : n/a ![]() |
Bonjour,
J'aimerais avoir comment on fais pour que quand on clique sur un drapeaux d'une lange le site change la langue sans devoir reécrire tous un site... |
00
|
|
|
#2 |
|
Membre confirmé
![]() |
tu as pas le choix, ca marche pas par magie
le truc serait de mettre les textes de ton site en base de donnée, et de les charger selon la langue choisie |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 385 ![]() |
mmouais .. t'as du boulot devant toi encore pour faire ça!
regarde, comme le suggere Sion_Sempai, la lecture de fichiers, et les sessions aussi pour pouvoir garder la langue pendant toute la durée de la visite du site. |
|
|
00
|
|
|
#4 |
|
Invité(e)
Messages : n/a ![]() |
Dans la métode du site open-realty, il y a des repèrtoir en, fr, etc
voici un extrais de fichier lang.inc.php //FRENCH LANGUAGE FILES //error_reporting(E_ALL); error_reporting(E_ALL& ~E_NOTICE); global $lang; $lang = array(); //This needs to match the listing type that you are using as Rental $lang['access_denied'] = "Accès refusé"; $lang['action'] = "Action"; $lang['active_listings'] = "Annonces Actives:"; $lang['add_favorites_link'] = "Ajouter aux Favoris"; $lang['add_field'] = 'Ajouter un Champ'; $lang['add_linefeeds'] = "'Retours à la Ligne:"; $lang['add_linefeeds_desc'] = "Permet les retours à la ligne?"; $lang['add_to_favorites'] = "Ajouter à ma Sélection"; $lang['addons'] = "Addons"; J'aimerias parire sur cette idée la... Mai je trouve pas comment il fond sa.... |
00
|
|
|
#5 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 385 ![]() |
Tu fais un fichier tel que celui la pour chaque langue.
Ensuite, tu stocke dans une variable de session la langue choisie, puis Code :
include_once("include/language/".$_SESSION['lang'].".php"); Et au lieu de faire des echos de textes genre "Accès refusé", tu fais enfin, un exemple parmi les nombreuses possibités qui doivent exister... et a éventuellement corriger un peu.. |
|
|
00
|
|
|
#6 |
|
Invité(e)
Messages : n/a ![]() |
ouawww, et je fais comment pour stoker la langue dans une variable avec un lien ?
Exemple, j'ai un site avec plusieur drapeau de lange et que quand je clique sur un drapeaux sa change. |
00
|
|
|
#7 | ||||
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 385 ![]() |
disons que tes drapeaux sont sur la page index.php. Les images auront alors comme lien :
Code :
et dans ton code tu mets : Code :
|
||||
|
|
00
|
|
|
#8 |
|
Invité(e)
Messages : n/a ![]() |
un tres tres grand merci, je vais testé sa ce soir...
|
00
|
|
|
#9 | |
|
Membre confirmé
![]() |
Citation:
Je parlais de cette solution parce qu'en fait la seule fois où j'ai eu a faire a un cas de site multilangue, c'etait un site que l'utilisateur pouvais modifier a souhait, donc forcement Si tu es seul maître du texte de ton site, pas besoin de se casser la tete avec la base de donnée ^^ |
|
|
|
00
|
|
|
#10 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Le problème de la solution qui utilise une BDD, c'est que cela oblige à adopter un schéma de BDD un peu foireux. L'avantage des fichiers est leur rapidité de lecture et la simplicité d'utilisation. Bonne chance !
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#11 |
|
Invité(e)
Messages : n/a ![]() |
J'ai testé, et ben la faute a pas de bol sa fonctionne pas
ce que j'ai dans mon index.php <body> <a href="index.php?lang=fr"><img src="Belgique.jpg" width="49" height="32" border="0" alt=""></a> <a href="index.php?lang=en"><img src="en.png" width="49" height="32" border="0" alt=""></a> <?php include_once("$lang".$_SESSION['lang'].".php"); $_SESSION['lang']=isset($_GET['lang'])?$_GET['lang']:"fr"; $lang=$_SESSION['lang']; echo $lang['access_denied']; ?> </body> et dans le fichier fr par exemple error_reporting(E_ALL& ~E_NOTICE); global $lang; $lang = array(); //This needs to match the listing type that you are using as Rental $lang['access_denied'] = "Accès refusé"; et a l'écrand, j'ai le contenu de fichier fr.php plus la fremière lètre (f) qui ce trouve dans la ligne <a href="index.php?lang=fr">, si je clique sur en, j'ai comme ltre e a la place du f. |
00
|
|
|
#12 |
|
Invité(e)
Messages : n/a ![]() |
Y a personne pour une tit solution pour moi
|
00
|
|
|
#13 | ||||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Tu as inversé ces deux lignes : Code :
Code :
De plus, avec cette ligne, tu annules l'effet de l'include() précédent : Je te recommande de ne pas la mettre du tout. Essaie de prendre du recul par rapport à ce que nous te proposons car nous ne te donnerons pas de solutions toutes faites, plutôt des pistes pour t'orienter dans la bonne direction. En l'occurence, ta variable $lang est systématiquement mal utilisée. Essaie de réfléchir à son utilisation et à ne l'utiliser qu'après l'avoir initialisée.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||||
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Cette méthode des variables est excellente pour une application, c'est à dire pour des messages courts et peu nombreux.
Si ton site est un site de contenus, avec des articles, textes..., je pense à 2 autres solutions : 1) les textes stockés en bdd 2) une page différente par langue. Pour choisir la langue, tout a été dit plus haut. |
|
|
00
|
|
|
#15 |
|
Invité(e)
Messages : n/a ![]() |
Sa fonctionne nikel, merci pour cette aide...
|
00
|
Copyright © 2000-2012 - www.developpez.com