国际化表格验证后不起作用

时间:2014-09-15 08:05:10

标签: php codeigniter

在我的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()); }

语言代码:indonesian / data_lang.php

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

system / language / indonesian 添加文件夹。

form_validation_lang.php

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

编辑印度尼西亚语言,但仍未显示。

如果我在英文文件夹中使用data_lang,它会起作用。

1 个答案:

答案 0 :(得分:1)

国际化表格验证:

我使用的方法是修改系统语言文件。

  1. 在路径 system / language / $ language 中创建特定的语言文件夹 您可以复制语言文件夹中的英文文件夹,并将文件夹重命名为您的文件夹 语言。之后,您可以将英语声明翻译成您选择的语言

  2. 为了能够在语言之间切换,您需要在控制器中设置配置语言

    $ this-&gt; config-&gt; set_item('language',$ language);

    PS。确保$language名称与系统文件夹

  3. 中的文件夹名称相同
  4. 只需运行form_validation即可。它有效!

  5. 另一种方式是custom_message。这不必干扰系统文件夹。您可以在问题中查看上面的用法。

    1. 在路径 application / language / $ language

      中创建语言文件


      例如。
      data_lang.php $lang['custom_required'] = ' text'

    2. 在访问语言内容之前加载语言文件。

      $ this-&gt; lang-&gt; load('data',“id”);

      $ this-&gt; form_validation-&gt; set_message('required',lang(“custom_required”));