我发生了一个非常奇怪的错误。我在我的类的构造函数中加载语言文件,如果我在构造函数的末尾退出并查看日志,我可以看到最后发生的事情是正在加载的语言文件。
如果我在方法开始时死了,但是在方法中的任何代码运行之前,已经加载了默认语言文件,这会覆盖正确的语言文件。如果我没有在构造函数的结尾和方法的开头之间运行任何代码,虽然这是怎么回事?
这是我的构造函数:
public function __construct()
{
parent::__construct();
$this->lang->load('application', 'german');
$this->lang->load('upload', 'german');
}
以下是日志显示的内容:
INFO - 2016-02-04 15:05:39 --> Language file loaded: language/german/application_lang.php
INFO - 2016-02-04 15:05:39 --> Language file loaded: language/german/upload_lang.php
INFO - 2016-02-04 15:05:39 --> Helper loaded: language_helper
INFO - 2016-02-04 15:05:39 --> Language file loaded: language/english/tagrisso_lang.php
所以,只是为了澄清,如果我:
日志仅显示前两行(正在加载的语言文件)。
但是如果我:
日志显示4行,显示加载了正确的语言文件后,再次加载语言助手并加载英文文件。
答案 0 :(得分:0)
你能检查一下吗?
在/application/config/config.php
中你会发现:
/*
|--------------------------------------------------------------------------
| Default Language
|--------------------------------------------------------------------------
|
| This determines which set of language files should be used. Make sure
| there is an available translation if you intend to use something other
| than english.
|
*/
$config['language'] = 'english';
在/application/config/autoload.php
中,您也可以设置默认语言。
/*
| -------------------------------------------------------------------
| Auto-load Language files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['language'] = array('lang1', 'lang2');
|
| NOTE: Do not include the "_lang" part of your file. For example
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
*/
$autoload['language'] = array();
您可以尝试将其更改为德语并再次检查吗?这将为我们提供有关您的应用程序配置的足够输出。
或许覆盖您的配置。
问候。
答案 1 :(得分:0)
正如@charlietfl所指出的那样,post_controller_constructor
的钩子集再次加载到语言文件中。