Bonjour à tous,

J'essaye de créer mon site en multilingue, mais je bloque un peu.

J'ai fais une page fr-lang.php : (egalement en-lang.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<?php
	 
 	 //---------------------------------------------------------
 	 // index.php
	 //---------------------------------------------------------
	 
 	 define('TXT_ACCUEIL_INDEX', 'Bienvenue sur PHP Débutant !');
	 define('TXT_METEO', 'Il fait un soleil radieux !');
 	 define('TXT_CONSEIL_INDEX', 'Faites du PHP !');
 	 
 	 //---------------------------------------------------------
 	 // page1.php
 	 //---------------------------------------------------------
 	 
	 define('TXT_ACCUEIL_PAGE1', 'Bienvenue sur la page 1 du site PHP Débutant !');
	 define('TXT_CONSEIL_PAGE2', 'Installez Linux !');
	 
 	 //---------------------------------------------------------
	 // Fin
 //---------------------------------------------------------
 	 
?>
</body>
</html>


puis une page decide-lang.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
     
     
       <?php 
      
      if(isset($HTTP_COOKIE_VARS['lang'])) {
          $lang = $HTTP_COOKIE_VARS['lang'];
      } else {
          // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
          $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2); 
      }
     
      //script d'origine
     if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
          include('lang/fr-lang.php'); 
      } elseif ($lang=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
          include('lang/en-lang.php'); 
      } 
      //fin du script d'origine
     
      //définition de la durée du cookie (1 an)
     $expire = 365*24*3600; 
     
     //enregistrement du cookie au nom de lang
      setcookie("lang", $lang, time() + $expire); 
      
     ?> 
</body>
</html>


Ensuite j'ai fait ma page index.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<?php
require("decide-lang.php");
 ?>
<html>
 <body>
     <?php echo TXT_ACCUEIL_INDEX; ?>
     <br>
      Meteo du jour : <?php echo TXT_METEO; ?>
      <br>
      Conseil du jour : <?php echo TXT_CONSEIL_INDEX; ?>
      </body>
      </html> 
</body>
</html>


mais je ne comprends pas lorsque je test il me met sur le navigateur uniquement :
Meteo du jour :
Conseil du jour :

Sur toute les pages de mon site j'ai des images Fr, En... et au clic dessus j'aimerais que ce soit redirigé vers des traductions déjà effectué par des traducteurs. Je comprends la logique a suivre mais je n'y arrive pas. Smiley bawling

Comment dois je m'y prendre?

S'il vous plait aidez moi!!!

merci beaucoup à tous
en PHP, les noms de variables commencent par $ donc tu devrais avoir echo $nom_variable et non echo nom_variable.
En faite c'est un tutoriel que j'ai pris sur internet pour comprendre comment faire pour mon site!

Je viens d'essayer avec $ mais rien n'y fait, il ne m'affiche toujours pas ma phrase.
J'ai fait un copier coller de ton code et cela fonctionne parfaitement chez moi, tu n'as pas de message d'erreur ?
J'ai également une autre question :

Je voudrais savoir si ce ne serait pas plus simple de refaire chaque page dans la langue souhaité et lorsque la personne clic sur 'En' en fonction de l'endroit ou il se trouve ce lien renvoi à la page 'En'

Pour moi ce serait également plus simple car je fais traduire tout mes textes par un traducteur. Et dans ce cas j'ai juste a changer les textes complets à l'intérieur de mes balises.

Je me demande aussi, si je passe par le php il risque de me faire une traduction mots à mots... ce qui ne m'intéresse pas non plus.

Mais par contre je me demande si je créer chaque page en fonction de la langue, mon site ne risque pas d'être encore plus lourd qu'aujourd'hui et du coup de mettre beaucoup plus de temps à charger...

Merci beaucoup pour votre aide...