如果en-gb.php语言文件不能仅在admin中工作,如何修复

问题描述 投票:0回答:1

我在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'] =',';

opencart opencart-3
1个回答
0
投票

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

  1. 检查管理 - >系统 - >本地化 - >语言中的语言设置。这是它应该如何看起来http://joxi.ru/eAOYwZkU9EDEDm enter image description here
  2. 检查管理员 - >系统 - >设置 - >编辑商店并访问本地选项卡中的opencart商店设置。应该看起来像这个http://joxi.ru/nAyxya7FgGbGv2 enter image description here
  3. 然后在admin - > design - > language editor中查看opencart语言编辑器。应该看起来像这个http://joxi.ru/E2p1aYlS7VxVEA enter image description here
  4. 如果一切都正确,让我们检查代码。在admin / language / en-gb / en-gb.php中。应该看起来像这个http://joxi.ru/V2VLwxqSdVqVyr enter image description here
  5. 然后检查system / storage / modify / admin / language / en-gb / en-gb.php中是否有对语言文件的任何修改(该文件不应存在)
  6. 如果您安装了vqmod,我还会检查vqmod / vqcache /中的缓存...

如果所有这些都是正确的,我们需要深入挖掘OpenCart的核心

  1. admin中的语言文件eb-gb(也是语言目录的名称)由第27行的控制器admin / startup / startup.php加载
$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向我们发送一张票,我将亲自看看。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.