После интернационализации проверка формы не работает

После реализации этой конфигурации интернационализации на моем CI проверка формы больше не работает.

https://github.com/EllisLab/CodeIgniter/wiki/CodeIgniter-2.1-internationalization-i18n

Как мне сделать так, чтобы ошибка проверки на другом языке появлялась?

Я хочу результат, если это другой язык, то он меняется. В моем случае я использую индонезийский.

Kolom 'Name' harus diisi.
Kolom 'Password' harus diisi.

Код в контроллере:

        $this->load->library("form_validation");
$this->lang->load('data', "id");

$this->form_validation->set_error_delimiters(' ', '<br />');
$this->form_validation->set_rules("name", "lang:name", "required|min_length[3]");
$this->form_validation->set_rules("password", "lang:password", "required|min_length[6]");

//using application/language
$this->form_validation->set_message('required', lang("custom_required"));

if(!$this->form_validation->run()){ exit(validation_errors()); }

Код на языке: индонезийский / data_lang.php

 $lang['custom_required'] = "Kolom %s harus diisi.";

Добавить папку в система / язык / индонезийский .

form_validation_lang.php

$lang['required']         = "Kolom %s harus diisi.";

Измените язык на индонезийский, но он все еще не появился.

Если я использую data_lang в английской папке, это будет работать.

2

Решение

Проверка формы для интернационализации:

Я использую способ пересмотра файла системного языка.

  1. Создать определенную языковую папку в пути система / язык / $ язык
    Вы можете скопировать английскую папку в языковую папку и переименовать папку в свой
    язык. Позже вы можете перевести английское утверждение на ваш язык.

  2. Чтобы иметь возможность переключаться между языками, вам нужно установить язык конфигурации в контроллере

    $ this-> config-> set_item (‘language’, $ language);

    PS. Удостовериться $language имя совпадает с именем папки в системной папке

  3. Просто запустите form_validation. Оно работает!

Другой способ — это custom_message. Это не должно мешать системной папке. Вы можете увидеть использование выше в вопросе.

  1. создать языковой файл в пути приложение / язык / $ Язык


    например.

    data_lang.php
    $lang['custom_required'] = ' text'

  2. Загрузите языковой файл перед доступом к языковому контенту.

    $ this-> lang-> load (‘data’, «id»);

    $ this-> form_validation-> set_message (‘required’, lang («custom_required»));

1

Другие решения

Других решений пока нет …