2014-03-03 138 views
0

我已经使用语言助手实现了多语言。我在下拉式变化中加载助手,意味着当用户选择任何语言,然后根据我的意愿加载库。 我的问题是,如果没有语言文件中找到的话,就说明错误Codeigniter语言助手

Unable to load the requested language file: language/abc/abc_lang.php 

我想,如果没有文件找到,那么简单的英语进行选择。 所以我尝试这个代码,但得到同样的错误

$language = $_POST['language']; 

if(($this->lang->load($language,$language)) == 1){ 
    $this->lang->load($language,$language); 
} 

else{ 
    $this->lang->load('english','english'); 
} 

任何人都可以告诉我怎么解决这个问题。

+0

这可能是值得只是做一个简单的'空($ _ POST [“语言”])'该值检查并设置默认没有设置if 1的值。你可以做一些像$ language =(!empty($ _ POST ['language']))? $ _POST ['language']:'default-language';'使阅读更容易 – mic

回答

3

错误消息是由您尝试在条件语句中加载不存在的语言文件触发的。如果语言文件试图加载它之前就存在,我建议你检查:

if (file_exists(APPPATH."language/".$expectedLanguage."/".$expectedFile)) { 
    $this->lang->load($expectedFile, $expectedLanguage); 
} 
1

您必须确保您有多少选项可以在语言文件夹下创建的lang文件数量。那么它会得到预期的lang文件,因为你从下拉菜单改变而不显示错误。