add another parmeter to i18n() which will allow you to force the language that gets returned for that specific call to i18n. Makes it easy to do things like make bilingual data sets, eg: "Life Science / Sciences de la vie"

This commit is contained in:
james 2007-04-03 20:12:43 +00:00
parent eff30a5adb
commit c2856ad9cb

View File

@ -230,11 +230,17 @@ if($_GET['switchlanguage'])
}
function i18n($str,$args=array(),$argsdesc=array())
function i18n($str,$args=array(),$argsdesc=array(),$forcelang="")
{
if(!$str)
return "";
if($forcelang)
{
$savelang=$_SESSION['lang'];
$_SESSION['lang']=$forcelang;
}
if($_SESSION['lang'])
{
if($_SESSION['lang']=="en")
@ -243,6 +249,7 @@ function i18n($str,$args=array(),$argsdesc=array())
{
$str=str_replace("%$x",$args[$x-1],$str);
}
if($forcelang) $_SESSION['lang']=$savelang;
return $str;
}
else
@ -258,6 +265,7 @@ function i18n($str,$args=array(),$argsdesc=array())
{
$ret=str_replace("%$x",$args[$x-1],$ret);
}
if($forcelang) $_SESSION['lang']=$savelang;
return $ret;
}
else
@ -266,6 +274,7 @@ function i18n($str,$args=array(),$argsdesc=array())
{
$str=str_replace("%$x",$args[$x-1],$str);
}
if($forcelang) $_SESSION['lang']=$savelang;
return "{{".$str."}}";
}
@ -292,6 +301,7 @@ function i18n($str,$args=array(),$argsdesc=array())
{
$str=str_replace("%$x",$args[$x-1],$str);
}
if($forcelang) $_SESSION['lang']=$savelang;
return "{{".$str."}}";
}
}
@ -299,6 +309,7 @@ function i18n($str,$args=array(),$argsdesc=array())
else
{
//no language set, assume english
if($forcelang) $_SESSION['lang']=$savelang;
return $str;
}
}