在我的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,它会起作用。
答案 0 :(得分:1)
我使用的方法是修改系统语言文件。
在路径 system / language / $ language 中创建特定的语言文件夹 您可以复制语言文件夹中的英文文件夹,并将文件夹重命名为您的文件夹 语言。之后,您可以将英语声明翻译成您选择的语言
为了能够在语言之间切换,您需要在控制器中设置配置语言
$ this-&gt; config-&gt; set_item('language',$ language);
PS。确保$language
名称与系统文件夹
只需运行form_validation即可。它有效!
另一种方式是custom_message。这不必干扰系统文件夹。您可以在问题中查看上面的用法。
在路径 application / language / $ language
中创建语言文件
例如。
的 data_lang.php 强>
$lang['custom_required'] = ' text'
在访问语言内容之前加载语言文件。
$ this-&gt; lang-&gt; load('data',“id”);
$ this-&gt; form_validation-&gt; set_message('required',lang(“custom_required”));