Qu'est-ce que Magento 2 essaie d'éviter en suspendant la traduction en ligne avant son envoi puis en reprenant après?
Qu'est-ce que Magento 2 essaie d'éviter en suspendant la traduction en ligne avant son envoi puis en reprenant après?
Réponses:
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 phtml
modè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
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: