Salut pour ma part j'utilise cette petite classe :
<?php
Class Core_Lang
{
// Langue par le code ISO 639 (défaut : français)
private $_langue = 'fr';
// Dossier contenant les langues
private $_dirLangue = 'Lang';
// Objet SimpleXML
private $_simpleXML = null;
private static $_instance = null;
//--------------------------------------------------------------------------------------
public static function getInstance()
{
if (is_null(self::$_instance))
{
self::$_instance = new self();
}
return self::$_instance;
}
//--------------------------------------------------------------------------------------
//Récupère la langue via le navigateur, sinon charge celle par défaut ou si une langue
//est spécifiée, on charge celle ci. Permet aussi de spécifier le dossier où ce trouvent
//les langues
public function __construct($langue = false) {
//$this->_dirLangue = LANGAGES_PATH;
if($langue) {
$this->_langue = strtolower($langue);
}
else {
if($lang = strtolower(substr($_SERVER'HTTP_ACCEPT_LANGUAGE'], 0, 2))) {
$this->_langue = $lang;
}
else {
$this->_langue = 'fr';
}
}
// Chargement du fichier langue
$this->loadXmlFile('Lang');
}
//--------------------------------------------------------------------------------------
/* Charge le fichier XML */
private function loadXmlFile($fichier) {
if(file_exists($this->_dirLangue.'/'.$this->_langue.'/'.$fichier.'.xml'))
{
$this->_simpleXML = simplexml_load_file($this->_dirLangue.'/'.$this->_langue.'/'.$fichier.'.xml');
}
/*else
{
throw new Exception('Fichier XML ('.$this->_dirLangue.'/'.$this->_langue.'/'.$fichier.'.xml) innexistant ! Merci de vérifier que celui ci existe.');
}*/
}
//--------------------------------------------------------------------------------------
/* Charge le message à afficher */
public function GetText($texte) {
$resultat = $this->_simpleXML->xpath($texte);
foreach($resultat as $noeud) {
return $noeud;
}
}
// ______________________________________________________________________________________________
}
?>
Ensuite faut juste que faire un dossier /Lang/ plus 1 sous dossier par langue que tu veux gerer et creer un petit fichier xml nommé "lang.xml"
ex pour le francais ca te fera /Lang/fr/lang.xml
pour l'anglais ca te fera /Lang/en/lang.xml
ect....
ex du fichier lang.xml
<?xml version="1.0" encoding="utf-8"?>
<langue>
<msg_test>Bonjour le monde</msg_test>
</langue>
et dans ton code php pour recuperer la variable "msg_test" il suffit de faire
<?php
Localizator = new Core_Lang();
//ou par exemple si tu veux forcer l'anglais Localizator = new Core_Lang('en');
echo (Localizator->GetText('msg_test'));
?>
voila en esperant que ca te sera utile
A+