Pourquoi Magento 2 suspend-il la traduction en ligne lors de l'envoi d'un e-mail transactionnel?

11

Qu'est-ce que Magento 2 essaie d'éviter en suspendant la traduction en ligne avant son envoi puis en reprenant après?

LM_Fielding
la source

Réponses:

5

La traduction en ligne est désactivée lors de l'envoi d'un e-mail car, lorsque la traduction en ligne est active, tout texte imprimé traduisible ( __('Text here')) passe parMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

Cette méthode ajoute du balisage autour du texte {{{et }}}est utilisée plus tard par du code javascript qui les interprète et affiche les jolis petits boutons et popups pour la traduction en ligne .... mais ....

Cela ne fonctionne que si vous êtes sur le site Web en question et que js est chargé.
Étant donné que les phtmlmodèles peuvent être utilisés dans les modèles d'e-mail, si la traduction en ligne est activée, vous obtiendrez les textes dans l'e-mail, {{{ some text here }}{{ other text here }}}car le balisage spécial ne sera pas interprété.
C'est donc une mesure de sécurité pour ne pas bousiller vos tempaltes d'email

Marius
la source
3

Lorsque la traduction en ligne est autorisée, la chaîne de fonction publique sera traduite en conséquence. Vous devez donc le désactiver et reprendre plus tard.

Cela évite également les problèmes de traduction en ligne mal activée.

L'ajout d'une fonction pour suspendre la traduction en ligne était lié à des conflits, veuillez lire:

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

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

BartZalas
la source
Ne répond pas à la question d'une manière que je comprends.
LM_Fielding
Je t'ai donné mon vote positif. C'est exactement la réponse que vous recherchez. Vous demandez ce qu'il essaie d'éviter et il a une réponse assez solide à cela. Ne vous contentez pas de voter parce que vous ne comprenez pas.
CompactCode
"Lorsque la traduction en ligne est autorisée, la chaîne de fonction publique sera traduite en conséquence. Vous devez donc la désactiver et la reprendre plus tard." Pré-éditez, alors ne commentez pas les choses que vous ne comprenez pas.
LM_Fielding