如何将翻译添加到 opencart 文本字符串?

How to add translation to opencart text strings?

我使用的是 Opencart v2.3.0.2。 在如何翻译一些文本字符串方面需要帮助。我已经添加了一些链接到我的 header 菜单(在 /catalog/view/theme/mytheme/template/common/header.tpl 中)使用代码:

<ul class="static_links">
  <li class="head-links">
    <a href="<?php echo $about_products; ?>">
      <?php echo $text_products; ?>
    </a>
  </li>
  <li class="head-links">
    <a href="<?php echo $contact; ?>">
      <?php echo $text_novosti; ?>
    </a>
  </li>
  <li class="head-links">
    <a href="<?php echo $contact; ?>">
      <?php echo $text_onas; ?>
    </a>
  </li>
</ul>

我还在 footer.php 中添加了新的字符串和翻译 (/catalog/language/ru-ru/common/footer.php):

$_['text_products'] = 'О продуктах'; $_['$text_novosti'] = 'Новости'; $_['$text_onas'] = 'О нас';

最后我在 header.php 中注册了翻译 (/catalog/controller/common/header.php):

//New links in menu
$data['text_products']  = $this->language->get('text_products');
$data['text_novosti']  = $this->language->get('text_novosti');        
$data['text_onas']  = $this->language->get('text_onas');

毕竟,当我打开带有菜单的页面时,它只显示 $text_products 的翻译文本。在其他地方它只显示值 text_novostitext_onas。但是应该显示来自 footer.php 的翻译。

请帮帮我,如何正确显示翻译?

或者也许有一种方法可以根据语言对文本进行硬编码?类似于:

<?php if ($lang='en') {?> <a href="#">News</a><a href="#">About us</a>
<?php } ?>
НовостиО нас

如果您想在 header.tpl 中使用您的字符串,则必须将您的字符串添加到:

catalog/language/ru-ru/common/header.php

不要:

catalog/language/ru-ru/common/footer.php

如果要硬编码,请在 header.php 中添加:

$data['lang_id'] = $this->config->get('config_language_id');

header.tpl中:

<?php if ($lang_id == 1) {?>
    <a href="#">News</a>
    <a href="#">About us</a>
<?php } else if ($lang_id == 2) {?>
    <a href="#">Новости</a>
    <a href="#">О нас</a>
<?php } ?>