Site multilingues

omlaly - 4 sept. 2012 à 16:49
 omlaly - 7 sept. 2012 à 12:42
Bonjour,

J'aimerais faire un site multilingues.

Je vous explique : j'ai une adresse principale et un sous-domaine. Le sous-domaine n'est pas fait du type http://www.en.toto.fr, c'est une autre adresse qui a un contenu totalement différent de l'adresse principale.
J'utilise la technique du php echo. J'ai transformé mes textes en variables et dans chaque fichier de langues (fr.php, es.php, en.php), je mets le texte correspondant à chaque variable. J'ai mis les variables de toutes les pages dans ces fichiers.
L'adresse principale fonctionne bien pour les langues (français, anglais, espagnol) sur laquelle on peut choisir la langue voulue.
Lorsqu'on clique sur le lien pour accéder au sous-domaine, la logique voudrait que le texte soit affiché avec la langue choisie (sur l'adresse principale)... Mais, le sous domaine n'affiche pas le texte (les variables) mais :
Warning: include(include/langues/fr.php) [function.include]: failed to open stream: No such file or directory in /homez.506/vincentsg/www/include/langue.php on line 42

Warning: include() [function.include]: Failed opening 'include/langues/fr.php' for inclusion (include_path='.:/usr/local/lib/php') in /homez.506/vincentsg/www/include/langue.php on line 42

Voici la ligne 42 du fichier correspondant :
include($dir_lang . $default_lang . $extension);

Le fichier est une fonction PHP.

Sur l'adresse principale, tout marche bien. Par contre, en allant sur le sous-domaine, ça bug.

Avez-vous une idée pour régler le problème ? Si oui, je suis preneur...

En attendant, je continue mes recherches...
Cordialement.

2 réponses

Bonjour,

J'ai réglé ce problème en faisant deux versions du fichier "langues.php" :
-une pur l'adresse principale
-une pour le sous domaine

Maintenant, le sous domaine s'affiche correctement. Mais, maintenant il faut que je mettes dans la variable quelque chose pour lui faire comprendre qu'il prend la langue choisie sur l'adresse principale (pas quelque chose de fixe comme "fr" pour français, "en" pour anglais ou "es" pour espagnol).

Pour info, la langue choisie sur l'adresse principale est stockée dans un cookies.

Connaissez-vous une technique pour régler le problème ? Une fonction PHP pour récupérer la langue choisie depuis l'adresse principale attribuée à une variable...

En attendant, je continue mes recherches...
Cordialement.
0
Bonjour,

Bon, pour le sous domaine en rajoutant dans l'url : index.php?lang=en (pour l'anglais), index.php?lang=es (pour l'espagnol) et index.php?lang=fr (pour le français, les textes se traduisent bien tout marche.

Il manque plus qu'à lui faire comprendre que si sur l'adresse principale, il y a (par exemple) : index.php?lang=en, ça rajoute la même chose sur l'adresse du sous-domaine (et ça pour les 3 langues).

Avez-vous une idée ?

Cordialement
0
Rejoignez-nous