Warum setzt Magento 2 die Inline-Übersetzung beim Senden einer Transaktions-E-Mail aus?

11

Was versucht Magento 2 zu vermeiden, indem die Inline-Übersetzung vor dem Senden angehalten und danach fortgesetzt wird?

LM_Fielding
quelle

Antworten:

5

Die Inline-Übersetzung ist beim Senden einer E-Mail deaktiviert, da bei aktiver Inline-Übersetzung jeder übersetzbare gedruckte Text ( __('Text here')) durchlaufen wirdMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

Diese Methode fügt einige Markup um den Text {{{und }}}das wird später durch einen JavaScript - Code, interpretiert sie und zeigt die netten kleinen Knöpfe und Pop - ups für die Inline - Übersetzung verwendet .... aber ....

Dies funktioniert nur, wenn Sie sich auf der betreffenden Website befinden und js geladen ist.
Da phtmlVorlagen in E-Mail-Vorlagen verwendet werden können, erhalten Sie bei aktivierter Inline-Übersetzung die Texte in der E-Mail wie {{{ some text here }}{{ other text here }}}folgt, da das spezielle Markup nicht interpretiert wird.
Dies ist also eine Sicherheitsmaßnahme, damit Sie Ihre E-Mail-Tempaltes nicht vermasseln

Marius
quelle
3

Wenn eine Inline-Übersetzung zulässig ist, wird die öffentliche Funktionszeichenfolge entsprechend übersetzt. Sie müssen es also deaktivieren und später fortsetzen.

Dies verhindert auch Probleme mit nicht ordnungsgemäß aktivierter Inline-Übersetzung.

Das Hinzufügen einer Funktion zum Anhalten der Inline-Übersetzung war mit Konflikten verbunden. Bitte lesen Sie:

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

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

BartZalas
quelle
Beantwortet die Frage in keiner Weise, die ich verstehe.
LM_Fielding
Ich habe dir meine Gegenstimme gegeben. Dies ist genau die Antwort, die Sie suchen. Sie fragen, was es zu vermeiden versucht, und er hat eine ziemlich solide Antwort darauf. Stimmen Sie nicht einfach ab, weil Sie nicht verstehen.
CompactCode
"Wenn eine Inline-Übersetzung zulässig ist, wird die öffentliche Funktionszeichenfolge entsprechend übersetzt. Sie müssen sie daher deaktivieren und später fortsetzen." Vorbearbeiten, also kommentieren Sie keine Dinge, die Sie nicht verstehen.
LM_Fielding