如何为openart多存储使用单独的语言文件


How to use separate language files for opencart multi stores?

我使用的是openart 1.5.5.1版本。我们有一个网站编码使用开放的框架。该网站还使用了openart多商店功能。所有商店都使用英语。

现在的问题是,是否有可能为不同的商店使用不同的语言标签?例如:一家商店与运动用品有关,另一家与手表有关。因此,我们需要在一家商店使用与运动项目相关的语言标签,而在另一家商店使用与手表相关的语言标签。

我不确定这是否可能,因为在openart中,我们通过每个模块的控制器文件加载语言文件。

请帮帮我。提前感谢!

不确定这是否是最优雅的方式,但我首先想到的是:

  1. 在Admin中创建多种语言,即English_sports, English_watches, French_sports
  2. catalog/comtroller/module/language.php中添加条件语句来捕获和过滤不需要的语言:

查找第32行:

$results = $this->model_localisation_language->getLanguages();

添加:

$store_id = $this->config->get('config_store_id');

在数据填充循环中添加条件和字符串清理代码:

foreach ($results as $result) {
    if ($store_id == "0" && $result['name'] == 'English_sports'){continue;} 
    $strings = array("_sports","_watches");
        if ($result['status']) {
            $this->data['languages'][] = array(
                //clean name strings for output
                'name'  => str_replace($strings,'',$result['name']),
                'code'  => $result['code'],
                'image' => $result['image']
            );  
        }
    }