Problème de cookies/multilingue (non résolu)

Résolu
kikizor -  
 kikizor -
Bonjour,
Je cherche à faire un site multilingue en PHP avec une base de données.
Le principe est :
- la langue par défaut est l'anglais mais je préférerai entrer un script qui permet de reconnaitre la langue du visiteur. J'ai fait des recherches et je ne crois pas que ces sites soient d'actualités, avez vous une méthode ?
- le visiteur choisit sa langue en cliquant sur un drapeau. le drapeau renvoie un lien avec une variable GET (par exemple http://bidule.php?langue=fr); cette donnée doit être transmise à un script qui mettrait cette variable en cookie, seulement je ne sais pas si c'est la bonne solution : peut être faut-il utiliser les sessions ? Mais je voudrais que la langue soit gardée en mémoire pour la prochaine visite
- ensuite, selon la langue choisie la base de donnée envoie la page dans la bonne langue

Un autre problème est que lorsque le visiteur choisit une langue en cliquant, la modification du cookie ne prend place qu'après actualisation de la page.

Voici le code pour les drapeaux :
<div id="drapeaux"> 
<a href="introduction.php?langue=es"><img src="images/espagnol.jpg"/><br/></a> 
<a href="introduction.php"><img src="images/english.jpg"/><br/></a> 
<a href="introduction.php?langue=fr"><img src="images/francais.jpg"/></a> 
</div>



Et celui pour les cookies :
if(isset($_GET['langue']) AND $_GET['langue'] == "fr") 
 { 
 setcookie('langue', 'fr', time() + 10 * 365 * 24 * 3600, null, null, false, true); 
 } 
elseif(isset($_GET['langue']) AND $_GET['langue'] == "es") 
 { 
 setcookie('langue', 'es', time() + 10 * 365 * 24 * 3600, null, null, false, true);  
 } 
elseif(!isset($_COOKIE['langue'])) 
 { 
 setcookie('langue', 'en', time() + 10 * 365 * 24 *3600, null, null, false, true); 
 }


Merci de votre aide !

2 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
la langue par défaut est l'anglais mais je préférerai entrer un script qui permet de reconnaitre la langue du visiteur.


La variable $_SERVER['HTTP_ACCEPT_LANGUAGE'] contient plusieurs informations, dont la langue du navigateur du visiteur
0