diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 0cff9263457ec21b8c685e69dc8f77244057d972..3c7e14b24200295d4cbd5b2d40a80144618f3257 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -450,13 +450,26 @@ function test_plugin_actif($plugin){ return ($plugin AND defined('_DIR_PLUGIN_'.strtoupper($plugin)))? true:false; } -// -// Traduction des textes de SPIP -// -// http://doc.spip.org/@_T -function _T($texte, $args=array(), $class='') { - +/** + * Traduction des textes de SPIP + * http://doc.spip.org/@_T + * + * @param string $texte + * @param array $args + * @param array $options + * string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine + * bool force : forcer un retour meme si la chaine n'a pas de traduction + * @return mixed|string + */ +function _T($texte, $args=array(), $options=array()) { static $traduire=false ; + $o = array('class'=>'','force'=>true); + if ($options){ + // support de l'ancien argument $class + if (is_string($options)) + $options = array('class'=>$options); + $o = array_merge($o,$options); + } if (!$traduire) { $traduire = charger_fonction('traduire', 'inc'); @@ -477,6 +490,9 @@ function _T($texte, $args=array(), $class='') { $text = $traduire($texte, $lang); if (!strlen($text)){ + if (!$o['force']) + return ''; + $text = $texte; // pour les chaines non traduites, assurer un service minimum if (!isset($GLOBALS['test_i18n'])) @@ -486,7 +502,7 @@ function _T($texte, $args=array(), $class='') { $class=null; } - return _L($text, $args, $class); + return _L($text, $args, $o['class']); }