1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
<?php
error_reporting(E_ALL & ~E_NOTICE);
class Langues {
// Langue par le code ISO 639 (défaut : français)
private $_langue = 'fr';
// Dossier contenant les langues
private $_dirLangue = '';
// Objet SimpleXML
private $_simpleXML = null;
/*
Constructeur
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
@access public
@param $langue, $dirLangue, $fichier
@return void
*/
public function __construct($dirLangue, $fichier, $langue = false) {
if(is_dir($dirLangue)) {
$this->_dirLangue = $dirLangue;
}
else {
$this->_dirLangue = 'langues';
}
if($langue) {
$this->_langue = strtolower($langue);
}
else {
if($lang = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2))) {
# $this->_langue = $lang;
$this->_langue = $_SESSION['language'];
}
else {
$this->_langue = 'fr';
}
}
//------- ICI ON REMPLACERA '.fichier.'.xml PAR '.fichier.'.php POUR VOIR SI LE FICHIER EXISTE------//
if(file_exists($this->_dirLangue.'/'.$this->_langue.'/'.$fichier.'.xml')) {
// Chargement du fichier langue
$this->loadXmlFile($fichier);
}
else {
die('Fichier XML ('.$this->_dirLangue.'/'.$this->_langue.'/'.$fichier.'.xml) innexistant ! Merci de vérifier que celui ci existe.');
}
}
/*
Charge le fichier XML
@access private
@param $fichier
@return void
*/
//----- ICI ES_CE POSSIBLE D?UTILISER UN INCLUDE()? SI NON COMMENT PUIS CHARGER MES VARIABLE SANS AVOIR BESOIN DE LE DöCLARER AVANT LA METHODE AFIN DE MINIMISER LE CODAGE -------//
private function loadXmlFile($fichier) {
$this->_simpleXML = simplexml_load_file($this->_dirLangue.'/'.$this->_langue.'/'.$fichier.'.xml');
}
/*
Charge le message à afficher
@access public
@param $texte
@return $texte
*/
public function text($texte) {
$resultat = $this->_simpleXML->xpath($texte);
foreach($resultat as $noeud) {
return $noeud;
}
}
}
?> |
Partager