如何修复en-gb.php语言文件仅在admin中不起作用

时间:2019-04-05 07:58:05

标签: opencart opencart-3

我在所有语言文件的Opencart 3.0.2.0中都存在问题,这些文件在页面中显示其文本和变量,并且在en-gb.php之外的admin中都能正常工作。请参见下图。 enter image description here

我已经尝试调试,但无法修复。我还检查了“存储”修改文件,以查看是否有文件被覆盖,但是所有位置都是相同的代码。

您可以在下面的en-gb.php中看到此代码,但是其变量值未显示在admin的任何页面中。

$ _ ['code'] ='en';

$ _ ['direction'] ='ltr';

$ _ ['date_format_short'] ='d / m / Y';

$ _ ['date_format_long'] ='l dS F Y';

$ _ ['time_format'] ='h:i:s A';

$ _ ['datetime_format'] ='d / m / Y H:i:s';

$ _ ['decimal_point'] ='。';

$ _ ['thousand_point'] =',';

1 个答案:

答案 0 :(得分:0)

以下是我要解决此问题的步骤:

  1. 在admin-> system-> localization-> language中检查语言设置。这就是它的外观http://joxi.ru/eAOYwZkU9EDEDm enter image description here

  2. 在admin-> system-> settings->编辑您的商店中访问opencart商店设置,然后访问本地标签。应该是这样的http://joxi.ru/nAyxya7FgGbGv2 enter image description here

  3. 然后在admin-> design->语言编辑器中检查opencart语言编辑器。应该看起来像这样http://joxi.ru/E2p1aYlS7VxVEA enter image description here

  4. 如果在那里正确,请检查代码。在admin / language / zh-CN / en-gb.php中。应该看起来像这样http://joxi.ru/V2VLwxqSdVqVyr enter image description here

  5. 然后在system / storage / modifications / admin / language / en-gb / en-gb.php检查该语言文件是否有任何修改(该文件不应该存在)

  6. 如果已安装vqmod,我还将检查vqmod / vqcache / ...中的缓存。

  

如果所有这些都是正确的,我们需要更深入地研究OpenCart的核心

  1. admin中的语言文件eb-gb(也是语言目录的名称)由控制器admin / startup / startup.php在第27行加载
$language->load($this->config->get('config_admin_language'));

因此您可以通过如下代码返回值来检查代码:

$language->load($this->config->get('config_admin_language'));
//this will output everything that is currently in the languge ibject.
print_r($language);

它应该看起来像这样http://joxi.ru/l2ZRw70szkLLl2 enter image description here

如果不返回数组,则可能是该代码未正确加载,或者结果是被空数组覆盖的地方。

如果商店进行了修改,则需要检查系统/存储/修改并搜索可能做类似操作的任何代码

  1. 如果是正确的话,还有一个地方可以检查。在admin / event / language.php中,您可能会遇到一些问题。在第9行上添加此代码
public function index(&$route, &$args) {
    foreach ($this->language->all() as $key => $value) {
        if (!isset($args[$key])) {
            $args[$key] = $value;
        }
    }
    // this will output the current values of the language object with the route name.
    echo $route;
    echo '<pre>';
    print_r($args);
    echo '</pre>'; 
}

它应该看起来像这样http://joxi.ru/DmBL9V6SJPWjWA enter image description here

如果在经过common/footer之类的特定路线之后的某个时刻,您发现text_home为空或丢失,那么您需要检查该路线及其修改,并查看那里发生了什么。

  1. 如果以上方法均无济于事,请发送电子邮件至https://dreamvention.ee/support,我们将亲自进行调查。

希望这会有所帮助。