Probleme site multi language

8 réponses - 2714 vues
Salut les programmeurs en herbes. Voici le probleme a résoudre du jour : But de la manipulation : Crée un site multi-languages.
Donc il y a une page d'accueil appelé intro.php qui permet le choix du language souhaité, voici le petit bout de liens utilisé :
**Intro.php : **
**Code **
``<a href="index.php?lang=eng">English</a> <a href="index.php?lang=fr">French</a>``
Ensuite la page ou tout est charger :
**Header.php**
**Code **
``images/design/<? echo $lang ?>/image.gif``
Maintenant la page qui gere donc le choix de la langue :
**Fontction.php**
**Code **
``if (!isset ($_GET['lang']))
{
header('Location: intro.php');
}
if ($_GET['lang'] == "fr")
{
include ("language/langue_fr.php");
setcookie("lang","fr",time()+365*24*3600);
}
else if ($_GET['lang'] == "eng")
{
include ("language/langue_eng.php");
setcookie("lang","eng",time()+365*24*3600);
}``
Le probleme est le suivant : je suis obliger de faire un refresh lorsque j'ai choisit ma langue au départ pour qu'elle soit réellement prise en compte, il me faut passer outre ce probleme, car les images du design set le texte du site est chargé via ce choix d elangue et le visiteur n'a pas a faire de refresh pour son propre confort.
A vos propositions :)
Je ne comprends pas bien en fait ... On arrive sur la page intro.php, on clique sur le lien et on tombe sur index.php avec la bonne langue.
Pour quoi il faut refresh, vu que dans index.php, on connait la langue ( $_GET['lang'] == ... ) ?
La page index.php devrait être générée avec la bonne langue.
:shock:
Entierement d'accord avec toi mais si je met le systeme de cookie ca ne fonctione pas
Moi j'ai besoin que la langue choisit soit enregistré
Voici encore une nouvelle version du fonction.php **Code **
``//////////////////////////////////////////////////
// Choix du language //
////////////////////////////////////////////////
if (!isset ($_COOKIE['lang']))
{
header('Location: intro.php');
}
else if (isset ($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}



else
{
if ($_GET['lang'] == "fr")
{
include ("language/langue_fr.php");

}
else
{
include ("language/langue_eng.php");
}
setcookie ("lang",$_GET['lang'],time()+365*24*3600);
$lang = $_COOKIE['lang'];
}``
La j'ai juste un probleme su'il ne prends pas en compte le changement de langue, c'est a dire qi tu avait selectionner FR anvant ca ne mettra pas en Anglais si vous changer d'avis car il y a le if ( isset ($_cookie['lang']))
Une idée pour palier a ce probleme ?
Dans toutes tes pages laisser un petit lien pour éventuellement changer de langue, il n'y a pas beaucoup de solution ... Fais un intro2.php ou tu ne testes pas le cookie ... et mets un petit lien vers lui...
Non pas terrible ta solution Dan :D
Euh, lol, si tu testes le cookie pour mettre à jour la langue et qu'il existe déja, comment tu veux prendre en compte un éventuel changement de langue, vu que la langue est déja définie par un cookie ... :roll:

(8 résultats)


Catégories


Tags


Liens