43 |
/** |
/** |
44 |
* \brief Constructeur de la classe |
* \brief Constructeur de la classe |
45 |
* \param dir Repertoire racine des fichiers de traduction |
* \param dir Repertoire racine des fichiers de traduction |
|
* \param defaultlang Langue par defaut à utiliser |
|
46 |
*/ |
*/ |
47 |
function Translate($dir = "", $defaultlang = "") |
function Translate($dir = "") |
48 |
{ |
{ |
49 |
$this->dir=$dir; |
$this->dir=$dir; |
|
$this->setDefaultLang($defaultlang); |
|
50 |
} |
} |
51 |
|
|
52 |
|
|
66 |
|
|
67 |
$langpart=split("_",$langlist[0]); |
$langpart=split("_",$langlist[0]); |
68 |
|
|
69 |
if (isset($langpart[1])) $defaultlang=$langpart[0]."_".strtoupper($langpart[1]); |
if (isset($langpart[1])) $defaultlang=strtolower($langpart[0])."_".strtoupper($langpart[1]); |
70 |
else $defaultlang=$langpart[0]."_".strtoupper($langpart[0]); |
else $defaultlang=strtolower($langpart[0])."_".strtoupper($langpart[0]); |
71 |
} |
} |
72 |
|
|
73 |
$this->defaultlang=$defaultlang; |
$this->defaultlang=$defaultlang; |
75 |
|
|
76 |
|
|
77 |
/** |
/** |
78 |
|
* \brief Accesseur de this->defaultlang |
79 |
|
* \return string Langue utilisée |
80 |
|
*/ |
81 |
|
function getDefaultLang() |
82 |
|
{ |
83 |
|
return $this->defaultlang; |
84 |
|
} |
85 |
|
|
86 |
|
|
87 |
|
/** |
88 |
|
\brief Positionne environnement PHP en fonction du langage |
89 |
|
\remarks Le code langue long (fr_FR, en_US, ...) doit être positionné |
90 |
|
\return int >0 si ok, <0 so ko |
91 |
|
*/ |
92 |
|
function setPhpLang() |
93 |
|
{ |
94 |
|
//dolibarr_syslog("Translate::set_php_lang: code_lang=$code_lang code_lang_tirer=$code_lang_tiret"); |
95 |
|
|
96 |
|
$code_lang_tiret=ereg_replace('_','-',$this->defaultlang); |
97 |
|
setlocale(LC_ALL, $this->defaultlang); // Compenser pb de locale avec windows |
98 |
|
setlocale(LC_ALL, $code_lang_tiret); |
99 |
|
if (defined("MAIN_FORCE_SETLOCALE_LC_ALL") && MAIN_FORCE_SETLOCALE_LC_ALL) setlocale(LC_ALL, MAIN_FORCE_SETLOCALE_LC_ALL); |
100 |
|
if (defined("MAIN_FORCE_SETLOCALE_LC_TIME") && MAIN_FORCE_SETLOCALE_LC_TIME) setlocale(LC_TIME, MAIN_FORCE_SETLOCALE_LC_TIME); |
101 |
|
if (defined("MAIN_FORCE_SETLOCALE_LC_NUMERIC") && MAIN_FORCE_SETLOCALE_LC_NUMERIC) setlocale(LC_NUMERIC, MAIN_FORCE_SETLOCALE_LC_NUMERIC); |
102 |
|
if (defined("MAIN_FORCE_SETLOCALE_LC_MONETARY") && MAIN_FORCE_SETLOCALE_LC_MONETARY) setlocale(LC_MONETARY, MAIN_FORCE_SETLOCALE_LC_MONETARY); |
103 |
|
|
104 |
|
return 1; |
105 |
|
} |
106 |
|
|
107 |
|
|
108 |
|
/** |
109 |
* \brief Charge en mémoire le tableau de traduction pour un domaine particulier |
* \brief Charge en mémoire le tableau de traduction pour un domaine particulier |
110 |
* Si le domaine est deja chargé, la fonction ne fait rien |
* Si le domaine est deja chargé, la fonction ne fait rien |
111 |
* \param domain Nom du domain (fichier lang) à charger |
* \param domain Nom du domain (fichier lang) à charger |