Por que o Magento 2 suspende a tradução embutida ao enviar um email transacional?

11

O que o Magento 2 está tentando evitar ao suspender a tradução embutida antes do envio e depois continuar depois?

LM_Fielding
fonte

Respostas:

5

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 phtmlmodelos 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

Marius
fonte
3

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:

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

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

BartZalas
fonte
Não responde a pergunta da maneira que eu entendo.
LM_Fielding 07/07/19
Eu te dei meu voto positivo. Esta é exatamente a resposta que você está procurando. Você pergunta o que está tentando evitar e ele tem uma resposta bastante sólida para isso. Não vote apenas porque você não entende.
CompactCode
"Quando a tradução em linha é permitida, a função da função pública será traduzida de acordo. Portanto, é necessário desativá-la e retomar mais tarde." Pré-edite, portanto, não comente coisas que você não entende.
LM_Fielding