如何为Opencart多个商店使用单独的语言文件?

3
我正在使用opencart 1.5.5.1版本。我们的网站是使用opencart框架编码的,该网站还使用了opencart多店铺功能。所有店铺都使用英语语言。
现在的问题是,是否可以为不同的商店使用不同的语言标签? 例如:一个商店与运动项目相关,另一个商店与手表相关。因此,我们需要在一个商店中使用与运动项目相关的语言标签,在另一个商店中使用与手表相关的语言标签。
我不确定是否可能,因为在opencart中,我们通过每个模块的控制器文件加载语言文件。
请帮忙解答。 谢谢!
1个回答

5

不确定这是否是最优雅的方法,但这是我想到的一个“hack”:

  1. 在管理员中创建多种语言,例如英语_体育英语_手表法语_体育等。
  2. catalog/controller/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']
            );  
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接