O que o Magento 2 está tentando evitar ao suspender a tradução embutida antes do envio e depois continuar depois?
O que o Magento 2 está tentando evitar ao suspender a tradução embutida antes do envio e depois continuar depois?
Respostas:
A tradução embutida é desativada ao enviar um email, porque, quando a tradução embutida está ativa, qualquer texto impresso traduzível ( __('Text here')
) passaMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render
Este método adiciona alguma marcação ao redor do texto {{{
e }}}
é usado posteriormente por algum código javascript que os interpreta e mostra os pequenos botões e pop-ups para a tradução embutida .... mas ....
Isso funciona apenas se você estiver no site em questão e se o js estiver carregado.
Como os phtml
modelos podem ser usados em modelos de email, se a tradução embutida estiver ativada, você receberá os textos no email, {{{ some text here }}{{ other text here }}}
porque a marcação especial não será interpretada.
Portanto, essa é uma medida de segurança para que você não estrague seus tempaltes de email
Quando a tradução em linha é permitida, a função pública string será traduzida de acordo. Então você precisa desativá-lo e continuar mais tarde.
Isso também evita problemas com a tradução embutida ativada incorretamente.
A adição de função para suspender a tradução embutida foi relacionada a conflitos, leia: