opencart 2.3英语以外的默认语言

时间:2016-11-26 18:50:44

标签: php opencart2.3

我有一个网站已经可以使用2种语言,俄语和英语(一切都运行良好的两种语言),现在我已经添加了亚美尼亚语。 问题 ---当我将网站切换成arurain语言时,我会看到,例如,在面包屑中

text_home button_continue button_login ....

我已经检查了\ catalog \ language \ armen \ armenian.php文件,并注意到这些可变资源的值存在。

顺便说一句,当我从armenian.php添加到例如language / armen / common / header .php这段代码

$_['text_home']             = 'arm_home';

它有效,但是这意味着我应该在每个页面中手动添加这个通用变量...... 我想有更优化的解决方案...

从管理员面板我将armenain设为默认语言

也许,我应该编辑system \ library \ language.php ??? 这是结构

<?php
class Language {
    private $default = 'en-gb';
    private $directory;
    private $data = array();

    public function __construct($directory = '') {
        $this->directory = $directory;
    }

    public function get($key) {
        return (isset($this->data[$key]) ? $this->data[$key] : $key);
    }

    public function set($key, $value) {
        $this->data[$key] = $value;
    }

    // Please dont use the below function i'm thinking getting rid of it.
    public function all() {
        return $this->data;
    }

    // Please dont use the below function i'm thinking getting rid of it.
    public function merge(&$data) {
        array_merge($this->data, $data);
    }

    public function load($filename, &$data = array()) {
        $_ = array();

        $file = DIR_LANGUAGE . 'english/' . $filename . '.php';

        // Compatibility code for old extension folders
        $old_file = DIR_LANGUAGE . 'english/' . str_replace('extension/', '', $filename) . '.php';

        if (is_file($file)) {
            require($file);
        } elseif (is_file($old_file)) {
            require($old_file);
        }

        $file = DIR_LANGUAGE . $this->default . '/' . $filename . '.php';

        // Compatibility code for old extension folders
        $old_file = DIR_LANGUAGE . $this->default . '/' . str_replace('extension/', '', $filename) . '.php';

        if (is_file($file)) {
            require($file);
        } elseif (is_file($old_file)) {
            require($old_file);
        }

        $file = DIR_LANGUAGE . $this->directory . '/' . $filename . '.php';

        // Compatibility code for old extension folders
        $old_file = DIR_LANGUAGE . $this->directory . '/' . str_replace('extension/', '', $filename) . '.php';

        if (is_file($file)) {
            require($file);
        } elseif (is_file($old_file)) {
            require($old_file);
        }


        $this->data = array_merge($this->data, $_);

        return $this->data;
    }
}

提前谢谢

1 个答案:

答案 0 :(得分:0)

我使用了一个旧的语言包,它与oc 2.3不兼容, 解决方案https://crowdin.com/project/opencart-translation-v2/hy-AM#