¿Por qué Magento 2 suspende la traducción en línea mientras envía un correo electrónico transaccional?

11

¿Qué está tratando de evitar Magento 2 al suspender la traducción en línea antes de enviarla y luego reanudarla después?

LM_Fielding
fuente

Respuestas:

5

La traducción en línea se deshabilita al enviar un correo electrónico porque, cuando la traducción en línea está activa, cualquier texto impreso traducible ( __('Text here')) pasaMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

Este método agrega algunas marcas alrededor del texto {{{y }}}luego lo utiliza un código javascript que los interpreta y muestra los pequeños botones y ventanas emergentes para la traducción en línea ... pero ...

Esto funciona solo si está en el sitio web en cuestión y se carga js.
Dado que las phtmlplantillas se pueden usar en las plantillas de correo electrónico, si la traducción en línea está habilitada, obtendrá los textos en el correo electrónico como {{{ some text here }}{{ other text here }}}porque el marcado especial no se interpretará.
Esta es una medida de seguridad para que no arruines tus plantillas de correo electrónico

Marius
fuente
3

Cuando se permite la traducción en línea, la cadena de función pública se traducirá en consecuencia. Por lo tanto, debe deshabilitarlo y reanudarlo más tarde.

Esto también evita problemas con la traducción en línea habilitada incorrectamente.

La función de agregar para suspender la traducción en línea estaba relacionada con conflictos, lea:

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

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

BartZalas
fuente
No responde la pregunta de ninguna manera que yo entienda.
LM_Fielding
Te di mi voto a favor. Esta es exactamente la respuesta que estás buscando. Le preguntas qué está tratando de evitar y él tiene una respuesta bastante sólida para eso. No solo rechaces porque no entiendes.
CompactCode
"Cuando se permite la traducción en línea, la cadena de función pública se traducirá en consecuencia. Por lo tanto, debe deshabilitarla y reanudarla más tarde". Pre-edición, así que no hagas comentarios sobre cosas que no entiendes.
LM_Fielding