What is Magento 2 trying to avoid by suspending inline translation before it sends and then resuming after?
Why Magento 2 Suspends Inline Translation During Transactional Email
magento2transactional-mail
magento2transactional-mail
What is Magento 2 trying to avoid by suspending inline translation before it sends and then resuming after?
Best Answer
Inline translation is disabled when sending an email because, when inline translation is active, any translatable printed text (
__('Text here')
) goes throughMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render
This method adds some markup around the text
{{{
and}}}
that is used later by some javascript code that interprets them and shows the nice little buttons and popups for inline translation.... but....This works only if you are on the website in question and that js is loaded.
Since
phtml
templates can be used in email templates, if inline translation is enabled, you would get the texts in the email like{{{ some text here }}{{ other text here }}}
because the special markup will not be interpreted.So this is a security measure so you don't screw up your email tempaltes