如何在模板中添加短语以在prestashop 1.7.6中进行翻译?

时间:2019-09-30 13:09:43

标签: internationalization prestashop translation

我添加了代码:

{l s='Place the order' d='Shop.Theme.Checkout'}

在模板文件...\prestashop\themes\classic\templates\checkout\_partials\steps\payment.tpl中,但是它没有出现在我的1.7.6 Prestashop管理员的翻译面板中。

那我该如何添加一个短语以便翻译呢?

在prestashop的早期版本中,只需修改模板以使短语出现在翻译面板中就足够了,但是在新版本中它不起作用...

编辑:

我读到,如果将新翻译添加到classic主题中,则无法识别,因此我将其设为子主题,并且可以在翻译器中看到新的字符串。但是出现了一个新问题,尽管出现了“翻译已更新”消息,但翻译未保存

这是我的步骤:

  1. 创建经典主题的空子主题(名称:stg)
  2. 将模板文件从经典主题复制到我的主题保存路径(templates \ checkout_partials \ steps \ payment.tpl)
  3. 将新字符串添加到域为Shop.Stgtheme的复制模板中
  4. 只有一个以我的主题命名的导出语言文件:pl-PL.pl-PL.xlf(zip中没有ShopStgtheme.pl-PL.xlf),并且导出文件中没有新字符串,也许就是这个问题吗?
  5. 将导出的文件(pl-PL.pl-PL.xlf)重命名为:ShopStgtheme.pl-PL.xlf变为theme / stg / translations / pl-PL,否则翻译器会在域树中添加错误的域
  6. 新字符串被识别并出现在域:Stgtheme中的主题翻译器中,但单击“保存”按钮后未保存

2 个答案:

答案 0 :(得分:1)

请参见this documentation,我认为您处于第二种情况。

似乎您必须首先提取主题翻译,然后将它们重新插入到prestashop中。现在您可以翻译新的方块了

答案 1 :(得分:1)

仅当使用的主题不是经典主题时,Prestashop才能在主题中搜索新字符串。因此,要添加一些可翻译的文本,您必须将其分配给自定义模块,在tpl文件中使用

{l s='Place the order' mod='already_existing_and_active_module_name'}

然后您将在此模块的翻译中找到您的字符串