Переключатель языка, как отобразить переменную вместо ключа для строки _lang - PullRequest
0 голосов
/ 18 января 2019

Мне нравится хранить свои языковые строки в переменных или массиве.

И у меня есть эта проблема. Как я могу повторить $data["menu_production"] вместо $this->lang->line("menu_production");? Это работает, когда я эхо ($this->lang->line("menu_production");), но не с $data или другой переменной. В моем контроллере я вызываю эту функцию:

function index() {
  $data["menu_production"] = $this->lang->line("menu_production");
  $this->load->view('menu', $data);
}

1 Ответ

0 голосов
/ 18 января 2019

Быстрый обходной путь для этого будет использовать sprintf

Пусть ваш языковой файл имеет ключ что-то вроде

$lang['custom_message'] = "Hello %s!";

Тогда используйте языковой класс как

echo sprintf($this->lang->line('custom_message'), 'world');
// output: Hello world!

$name = "John Doe";
echo sprintf($this->lang->line('custom_message'), $name);
// output: Hello John Doe!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...