Valider eab4b82e rédigé par esj's avatar esj
Parcourir les fichiers

Si des arguments ne sont pas utilisés lors de l'instanciation d'une chaîne de...

Si des arguments ne sont pas utilisés lors de l'instanciation d'une chaîne de langue, les rajouter à la fin: les {{{@nom@}}} n'ont pas (bien) été reportés dans la chaîne, mais l'information associée est trop importante pour être totalement ignorée. Si la globale {{{test_i18n}}} est positionnée à True, ces chaînes apparaîtront en rouge, comme avec {{{_L}}}.
parent 29a8875d
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+16 −12
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -433,27 +433,31 @@ function _T($texte, $args=array()) {
	$text = $traduire($texte,$GLOBALS['spip_lang']);

	if (!strlen($text))
		// pour les chaines non traduites
		// pour les chaines non traduites, assurer un service minimum
		$text = str_replace('_', ' ',
			 (($n = strpos($texte,':')) === false ? $texte :
				substr($texte, $n+1)));

	if (is_array($args))
	foreach ($args as $name => $value)
		$text = str_replace ("@$name@", $value, $text);

	return $text;
	return _L($text, $args, true);

}

// chaines en cours de traduction
// Remplacer les variables @....@ par leur valeur
// aussi appelee quand une chaine n'est pas encore dans les fichiers de langue
// http://doc.spip.org/@_L
function _L($text, $args=array()) {
	if (is_array($args))
	foreach ($args as $name => $value)
		$text = str_replace ("@$name@", $value, $text);
function _L($text, $args=array(), $nostyle=false) {

	if (is_array($args)) {
		foreach ($args as $name => $value) {
			$text = str_replace ("@$name@", $value, $text, $n);
			if ($n) unset($args[$name]);
		}
		// Si des variables n'ont pas ete inserees, le faire a minima
		// (chaines de langues pas a jour)
		foreach ($args as $name => $value) $texte .= " $value";
	}

	if ($GLOBALS['test_i18n'])
	if ($GLOBALS['test_i18n'] AND (!$nostyle OR $args))
		return "<span style='color:red;'>$text</span>";
	else
		return $text;