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


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


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/


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.