¿Qué está tratando de evitar Magento 2 al suspender la traducción en línea antes de enviarla y luego reanudarla después?
¿Qué está tratando de evitar Magento 2 al suspender la traducción en línea antes de enviarla y luego reanudarla después?
Respuestas:
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 phtml
plantillas 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
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: