我正在使用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_novosti
和text_onas
。但是应该显示来自footer.php的翻译。
请帮助我,如何正确显示翻译?
或许有一种方法可以根据语言对文本进行硬编码?类似的东西:
<?php if ($lang='en') {?> <a href="#">News</a><a href="#">About us</a>
<?php } ?>
НовостиОнас
答案 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 } ?>