30Bees/Presta 1.6 商店翻译在 frontController

30Bees/Presta 1.6 shop translation in frontController

我正在尝试向我们模块的前端添加一些翻译。当翻译在 .tpl 文件中时,它们会被渲染。但是,后端没有显示任何翻译字段我的 .tpl 文件代码是:

{l s="Text" mod="myModule"}

我也确实需要在 FrontControllers 中做一些翻译(主要是服务器端验证的错误处理和反馈)。

在 AdminController 中,我只使用 $this->l('Text'); 即可。但是,在 FrontController 中这是不可用的。我检查了 ControllerCore 和 FrontControllerCore,l() 未在其中定义,仅在 AdminController 中可用。

谁能详细解释一下我需要做什么?我在网络上的所有研究总是指向 $this->l() 是要使用的东西...

在 tpl 文件中使用翻译时,您需要使用单引号而不是双引号。

{l s='Text' mod='myModule'}

至于前端控制器...好吧,如果您在扩展 ModuleFrontController 的控制器中使用自定义模块控制器,您可以使用

$this->module->l('Text');

如果您不使用这些控制器,那么...开始使用它们吧。

有些事情可能会有所不同,因为 thirtybees 是 PrestaShop 的一个分支,但我想翻译机制是一样的。