У меня есть сайт, который уже работает на 2 языках, русском и английском (все хорошо работает на обоих языках), теперь я добавил армянский язык.
Эта проблема — когда я перехожу на сайт на армянский язык, я вижу, например, в сухарях
text_home button_continue button_login ….
Я проверил файл \ catalog \ language \ armen \ armenian.php и заметил, что существуют значения этих переменных.
Кстати, когда я добавляю из armenian.php, например, в language / armen / common / header .php этот код
$_['text_home'] = 'arm_home';
это работает, но это означает, что я должен вручную добавить в каждую страницу эту общую переменную …
Я хотел бы иметь более оптимальное решение …
из админки я установил арменайн как язык по умолчанию
Может быть, я должен отредактировать 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;
}
}
заранее спасибо
Я использовал старый пакет на армянском языке, который не был совместим с oc 2.3,
решение https://crowdin.com/project/opencart-translation-v2/hy-AM#
Других решений пока нет …