为什么在发送交易电子邮件时Magento 2暂停内联翻译?


Answers:


5

发送电子邮件时,内联翻译被禁用,因为当内联翻译处于活动状态时,所有可翻译的印刷文本(__('Text here'))都会通过Magento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

此方法添加文本周围的一些标记,{{{并且}}}由一些JavaScript代码后使用的解释它们并显示在线翻译可爱的小按钮和弹出....但是....

仅当您在有问题的网站上并且加载了js时,此方法才有效。
由于phtml可以在电子邮件模板中使用模板,因此,如果启用了内联翻译,您将在电子邮件中获得文本,{{{ some text here }}{{ other text here }}}因为特殊的标记将不会被解释。
因此,这是一项安全措施,因此您无需搞砸电子邮件模板


3

允许在线翻译时,将对公共功能字符串进行相应的翻译。因此,您需要禁用它并稍后恢复。

这也可以防止内联翻译启用不正确的问题。

暂停内联翻译的添加功能与冲突有关,请阅读:

https://github.com/magento/magento2/pull/11320

https://www.absolute-design.co.uk/services/magento-ecommerce/how-can-i-fix-magento-translation-conflicts/


不会以我理解的任何方式回答问题。
LM_Fielding '18年

我给你我的支持。这正是您要寻找的答案。您问它正在设法避免什么,他对此有一个很明确的答案。不要因为你不理解就投下反对票。
CompactCode

“当允许进行内联翻译时,公共功能字符串将进行相应的翻译。因此,您需要禁用它并稍后恢复。” 预编辑,所以不要对您不了解的内容发表评论。
LM_Fielding '18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.