Support ca_ES

This commit is contained in:
Laurent Destailleur 2009-01-02 22:02:52 +00:00
parent 8524b698c2
commit 82ba5cd9b5

View File

@ -111,10 +111,16 @@ class Translate {
$langlist=split("[;,]",$langpref); $langlist=split("[;,]",$langpref);
$langpart=split("_",$langlist[0]); $langpart=split("_",$langlist[0]);
//print $langpart[0].'/'.$langpart[1];
if (isset($langpart[1])) $srclang=strtolower($langpart[0])."_".strtoupper($langpart[1]); if (isset($langpart[1])) $srclang=strtolower($langpart[0])."_".strtoupper($langpart[1]);
else {
// Array to convert short lang code into long code.
$longforshort=array('ca'=>'ca_ES');
if (isset($longforshort[strtolower($langpart[0])])) $srclang=$longforshort[strtolower($langpart[0])];
else $srclang=strtolower($langpart[0])."_".strtoupper($langpart[0]); else $srclang=strtolower($langpart[0])."_".strtoupper($langpart[0]);
} }
}
$this->defaultlang=$srclang; $this->defaultlang=$srclang;
} }
@ -141,8 +147,9 @@ class Translate {
//dolibarr_syslog("Translate::setPhpLang ".$this->defaultlang,LOG_DEBUG); //dolibarr_syslog("Translate::setPhpLang ".$this->defaultlang,LOG_DEBUG);
$code_lang_tiret=ereg_replace('_','-',$this->defaultlang); $code_lang_tiret=ereg_replace('_','-',$this->defaultlang);
setlocale(LC_ALL, $this->defaultlang); // Compenser pb de locale avec windows //print 'code_lang_tiret='.$code_lang_tiret;
setlocale(LC_ALL, $code_lang_tiret); setlocale(LC_ALL, $this->defaultlang); // Some OS (Windows) need local with _
setlocale(LC_ALL, $code_lang_tiret); // Other OS need local with -
if (defined("MAIN_FORCE_SETLOCALE_LC_ALL") && MAIN_FORCE_SETLOCALE_LC_ALL) if (defined("MAIN_FORCE_SETLOCALE_LC_ALL") && MAIN_FORCE_SETLOCALE_LC_ALL)
$res_lc_all=setlocale(LC_ALL, MAIN_FORCE_SETLOCALE_LC_ALL.'.UTF-8', MAIN_FORCE_SETLOCALE_LC_ALL); $res_lc_all=setlocale(LC_ALL, MAIN_FORCE_SETLOCALE_LC_ALL.'.UTF-8', MAIN_FORCE_SETLOCALE_LC_ALL);
@ -198,6 +205,7 @@ class Translate {
$scandir = $searchdir."/".$this->defaultlang; $scandir = $searchdir."/".$this->defaultlang;
$file_lang = $scandir . "/".$domain.".lang"; $file_lang = $scandir . "/".$domain.".lang";
$filelangexists=is_file($file_lang); $filelangexists=is_file($file_lang);
//print 'Load default_lang='.$this->defaultlang.' alt='.$alt.' newalt='.$newalt.' '.$file_lang."-".$filelangexists.'<br>';
// Check in "always available" alternate file if not found or if asked // Check in "always available" alternate file if not found or if asked
if ($newalt || ! $filelangexists) if ($newalt || ! $filelangexists)
@ -213,8 +221,8 @@ class Translate {
$filelangexists=is_file($file_lang); $filelangexists=is_file($file_lang);
$newalt=1; $newalt=1;
} }
//print 'Load alt='.$alt.' newalt='.$newalt.' '.$file_lang."-".$filelangexists.'<br>';
//print 'eee'.$file_lang."-".$filelangexists;
if ($filelangexists) if ($filelangexists)
{ {
// Enable cache of lang file in session (faster but need more memory) // Enable cache of lang file in session (faster but need more memory)
@ -262,6 +270,7 @@ class Translate {
// We do not load Separator values for alternate files // We do not load Separator values for alternate files
if (! $newalt || (! eregi('^Separator',$key))) if (! $newalt || (! eregi('^Separator',$key)))
{ {
//print 'XX'.$key;
$this->tab_translate[$key]=$value; $this->tab_translate[$key]=$value;
} }
if ($enablelangcacheinsession) $tabtranslatedomain[$key]=$value; // To save lang in session if ($enablelangcacheinsession) $tabtranslatedomain[$key]=$value; // To save lang in session