【问题标题】:How to add a phrase in template to translate in prestashop 1.7.6?如何在模板中添加短语以在 prestashop 1.7.6 中翻译?
【发布时间】:2019-09-30 13:09:43
【问题描述】:

我添加了代码:

{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 为主题/stg/translations/pl-PL,否则翻译器会在域树中添加错误的域
  6. 新字符串被识别并出现在域内的主题翻译器中:Stgtheme,但单击“保存”按钮后未保存

【问题讨论】:

  • 表格翻译中没有新文件或新行?您是否尝试清除缓存? (翻译保存在 var/cache/[dev|prod]/translations 文件夹中)
  • 您可以尝试清除缓存,然后重新加载 FO/BO 以重新创建缓存文件。然后打开缓存文件,看看翻译是否在里面,在这种情况下,它的域是什么。否则,这是 Prestashop 问题(:0,我将尝试创建与您相同的错误
  • @FanieVoid 我清除了缓存,翻译不在缓存文件中,所以似乎是PS问题,如果你想关注它,我在这里报告了这个问题:github.com/PrestaShop/PrestaShop/issues/15791

标签: internationalization prestashop translation


【解决方案1】:

this documentation,我认为你属于第二种情况。

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

【讨论】:

  • 感谢您的信息。我遵循了文档,但仍有问题 - 请参阅我的编辑
【解决方案2】:

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

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

然后你会在这个模块的翻译中找到你的字符串

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 2016-05-02
    • 2015-07-11
    相关资源
    最近更新 更多