PHP
Internationaliser votre site web
Introduction
Plusieurs solutions existent.Nous allons vous proposer 2 solutions.
  • Une solution avec des constantes
  • Une solution avec la base de donnée

Il faut récupérer la langue en la gardant soit :
  • dans une variable global
  • dans un cookie
Solution pure PHP
on crée autant de fichiers que de langues comme ceci lang-es,lang-fr...
Nous définissons les constantes à l'intérieur comme un dictionnaire.

Nous chargerons donc le fichier langue approrié
define('_WELCOME','Bienvenido');
Nous chargerons donc le fichier langue approrié.
Ici, nous allons chercher si une langue est déjè défini dans le cookie, sinon nous chargeons par défaut le fichier de langue française.
if(isset($_COOKIE['LANG'])) { include("lang/lang-".$_COOKIE['LANG'].".php"); } else { include("lang/lang-fr.php"); }
Définition du mot :
echo "Mot : "._WELCOME;
Solution BDD
Nous allons créer 2 tables.
  • Une table pour les mots
  • Une table pour les phrases
Une table de mot t_word avec 3 champs lang_fr,lang_en,lang_es.
Une table de phrase avec 4 champs id,lang_fr,lang_en,lang_es.
/* @author KarKam Dvpt. @vesion 1.0 */ /********* Multi-lin { if($_SESSION['lang']!='lang_fr') { $sql="SELECT * FROM t_word WHERE lang_fr LIKE \"".$word."\""; $req=mysql_query($sql)or die("SQL Error : ". $sql."<BR>". mysql_error()); $data=mysql_fetch_array($req,MYSQL_ASSOC); return $data[$_SESSION['lang']]; } else { return $word; } } function sentence($idSentence) { $sql="SELECT * FROM t_sentence where id=".$idSentence; $req=mysql_query($sql)or die("SQL Error : ". $sql."<BR>". mysql_error()); $data=mysql_fetch_array($req,MYSQL_ASSOC); return $data[$_SESSION['lang']]; }
Définition du mot ou de la phrase (par son id) :
echo "Mot : ".word('Bienvenue'); echo"Phrase : ".sentence(5);
Imprimer
Notez cette page

S'il vous plait, prenez un moment pour remplir ce formulaire pour nous aider à mieux vous servir.

12345

    :: Ajouter aux favoris :: Contact