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

时间:2017-12-14 10:08:11

标签: php opencart opencart2.3

我正在使用Opencart v2.3.0.2。 如何翻译一些文本字符串需要帮助。我已经使用代码在我的标题菜单中添加了一些链接(在/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 } ?>
 НовостиОнас     

1 个答案:

答案 0 :(得分:1)

如果要在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 } ?>