Посмотрите на функцию Ланг (найденную в: /system/helpers/language_helper.php
):
function lang($line, $for = '', $attributes = array())
{
$CI =& get_instance();
$line = $CI->lang->line($line);
if ($for !== '')
{
$line = '<label for="'.$for.'"'._stringify_attributes($attributes).'>'.$line.'</label>';
}
return $line;
}
Как вы можете видеть, что принимает 3 параметра. Первый параметр требуется, но два вторых являются необязательными. Если вы укажете второй параметр, он вернет строку языка, завернутую в метку.
Таким образом, указывая только на первый параметр, он должен выводить только строку языка.
UPDATE:
Прочитав ваш комментарий это звучит, как вы бы лучше использовать language class непосредственно. Однако одного языкового класса недостаточно, вам нужно будет расширить его для своей цели. Для этого вы можете создать новый файл в папке application/core
с именем MY_lang.php
.
class MY_Lang extends CI_Lang {
// You want to extend the line function
function line($line = '', $value = '')
{
$line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
// We can assume that if a value is passed it is intended to be inserted into the language string
if($value) {
$line = sprintf($line, $value);
}
// Because killer robots like unicorns!
if ($line === FALSE)
{
log_message('error', 'Could not find the language line "'.$line.'"');
}
return $line ;
}
}
Предположим, что ваш языковой файл имеет строку следующим образом:
$lang['welcome_text'] = "Welcome %s";
Вы могли бы использовать это, загружая класс языка, и, используя следующий код:
$name = "foo";
$this->lang->line('welcome_text', $name);
выше 100% непроверено, поэтому может потребоваться некоторое подталкивание, но оно должно дать вам возможность начать с нуля.
Обновлен мой ответ простым примером того, как вы можете расширить языковой класс для строк, когда вам нужно передать одно значение. – Jeemusu