Как поместить переменную в языковой файл Codeigniter? - PullRequest
0 голосов
/ 19 марта 2011

Я использую Codeigniter 2.0.1, и я хотел бы поместить переменную в языковую строку.Например: если пользователь хочет зарегистрировать учетную запись, и это имя пользователя уже существует, я хотел бы добавить в свою языковую строку «Это имя пользователя $ username используется alrady».В строках языка ошибок проверки я увидел, что они используют% s в качестве переменной.Но если я добавлю это в свой файл lang ошибки аутентификации, я получу просто% s вместо переменной.

1 Ответ

0 голосов
/ 19 марта 2011

Не похоже, что это возможно с классом Lang по умолчанию. Лично я так и сделал.

Первый i18n_helper:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if ( ! function_exists('line_with_arguments'))
{
    function line_with_arguments($line, $swap)
    {
        return str_replace('%s', $swap, $line);
    }
}

и затем я вызываю это в моем контроллере:

<?php
class Home extends CI_Controller
{
    public function index()
    {
        $this->lang->load('test', 'english');
        $this->load->helper('i18n');

        echo line_with_arguments($this->lang->line('test'), 'Matt');
    }
}

и файл моего языка:

<?php
$lang['test'] = 'Hello %s';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...