Je veux passer une variable à un fichier de langue. J'ai créé MY_language.php
en application/core/MY_language.php
.Passer une varibale au fichier de langue sans sprintf
class MY_Language extends CI_Lang
{
public function __construct()
{
parent::__construct();
}
function line($line, $params = null)
{
$return = parent::line($line);
if ($return === false) {
return "!-- $line --!";
} else {
if (!is_null($params)) {
$return = $this->_ni_line($return, $params);
}
return $return;
}
}
private function _ni_line($str, $params)
{
$return = $str;
$params = is_array($params) ? $params : array($params);
$search = array();
$cnt = 0;
foreach ($params as $param) {
$search[$cnt] = '/\\$' . ($cnt + 1) . '/';
$cnt++;
}
$return = preg_replace($search, $params, $return);
return $return;
}
}
Ce fichier doit remplacer la fonction CodeIgniter line()
et accepter un tableau de paramètres en entrée, et l'insérer dans everywhereIi de langue chaîne ont le type $
dans mon texte de langue.
$lang['delete'] = "$name was deleted";
Le résultat du code ci-dessus est:
sam was deleted
Quelle est votre question? – rndus2r