我在所有语言文件的Opencart 3.0.2.0中都存在问题,这些文件在页面中显示其文本和变量,并且在en-gb.php之外的admin中都能正常工作。请参见下图。
我已经尝试调试,但无法修复。我还检查了“存储”修改文件,以查看是否有文件被覆盖,但是所有位置都是相同的代码。
您可以在下面的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'] =',';
答案 0 :(得分:0)
以下是我要解决此问题的步骤:
在admin-> system-> localization-> language中检查语言设置。这就是它的外观http://joxi.ru/eAOYwZkU9EDEDm
在admin-> system-> settings->编辑您的商店中访问opencart商店设置,然后访问本地标签。应该是这样的http://joxi.ru/nAyxya7FgGbGv2
然后在admin-> design->语言编辑器中检查opencart语言编辑器。应该看起来像这样http://joxi.ru/E2p1aYlS7VxVEA
如果在那里正确,请检查代码。在admin / language / zh-CN / en-gb.php中。应该看起来像这样http://joxi.ru/V2VLwxqSdVqVyr
然后在system / storage / modifications / admin / language / en-gb / en-gb.php检查该语言文件是否有任何修改(该文件不应该存在)
如果已安装vqmod,我还将检查vqmod / vqcache / ...中的缓存。
如果所有这些都是正确的,我们需要更深入地研究OpenCart的核心
$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
如果不返回数组,则可能是该代码未正确加载,或者结果是被空数组覆盖的地方。
如果商店进行了修改,则需要检查系统/存储/修改并搜索可能做类似操作的任何代码
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
如果在经过common/footer
之类的特定路线之后的某个时刻,您发现text_home为空或丢失,那么您需要检查该路线及其修改,并查看那里发生了什么。
希望这会有所帮助。