From c2856ad9cb55ae964d18941e68a6127a4fa2f29e Mon Sep 17 00:00:00 2001 From: james Date: Tue, 3 Apr 2007 20:12:43 +0000 Subject: [PATCH] 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" --- common.inc.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/common.inc.php b/common.inc.php index cfd594ee..0f0bb830 100644 --- a/common.inc.php +++ b/common.inc.php @@ -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; } }