Чего Magento 2 пытается избежать, приостановив встроенный перевод до его отправки, а затем возобновив после?
Чего Magento 2 пытается избежать, приостановив встроенный перевод до его отправки, а затем возобновив после?
Ответы:
Встроенный перевод отключен при отправке электронного письма, потому что, когда встроенный перевод активен, любой переводимый печатный текст ( __('Text here')
) проходитMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render
Этот метод добавляет некоторую разметку вокруг текста {{{
и }}}
который впоследствии используются некоторым яваскрипт код , который интерпретирует их и показывает кнопку маленькой приятной и всплывающие окна для однострочного перевода .... но ....
Это работает, только если вы находитесь на веб-сайте, о котором идет речь, и что js загружен.
Поскольку phtml
шаблоны могут использоваться в шаблонах электронной почты, если встроенный перевод включен, вы получите текст в электронном письме, например, {{{ some text here }}{{ other text here }}}
потому что специальная разметка не будет интерпретироваться.
Так что это мера безопасности, чтобы вы не испортили свои почтовые шаблоны
Когда встроенный перевод разрешен, общедоступная строка функции будет переведена соответствующим образом. Так что вам нужно отключить его и возобновить позже.
Это также предотвращает проблемы с неправильно включенным встроенным переводом.
Добавление функции для приостановки встроенного перевода было связано с конфликтами, пожалуйста, прочитайте: