Perché Magento 2 sospende la traduzione in linea durante l'invio di un'e-mail transazionale?


Risposte:


5

La traduzione in linea è disabilitata quando si invia un messaggio di posta elettronica perché, quando è attiva la traduzione in linea, __('Text here')passa il testo stampato traducibile ( )Magento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

Questo metodo aggiunge un po 'di markup attorno al testo {{{e }}}viene usato in seguito da un codice javascript che li interpreta e mostra i piccoli pulsanti e popup per la traduzione in linea .... ma ....

Funziona solo se ti trovi sul sito Web in questione e che js è caricato.
Poiché i phtmlmodelli possono essere utilizzati nei modelli di e-mail, se la traduzione in linea è abilitata, si otterrebbero i testi nell'e-mail come {{{ some text here }}{{ other text here }}}perché il markup speciale non verrà interpretato.
Quindi questa è una misura di sicurezza in modo da non rovinare i tuoi tempalt e-mail


3

Quando è consentita la traduzione in linea, la stringa della funzione pubblica verrà tradotta di conseguenza. Quindi è necessario disabilitarlo e riprendere più tardi.

Ciò impedisce anche problemi con la traduzione inline abilitata in modo errato.

L'aggiunta della funzione per sospendere la traduzione in linea era correlata a conflitti, leggere:

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

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


Non risponde alla domanda in alcun modo che io capisca.
LM_Fielding

Ti ho dato il mio voto. Questa è esattamente la risposta che stai cercando. Chiedete cosa sta cercando di evitare e lui ha una risposta abbastanza solida per questo. Non limitarti a votare perché non capisci.
CompactCode

"Quando è consentita la traduzione in linea, la stringa della funzione pubblica verrà tradotta di conseguenza. Quindi è necessario disabilitarla e riprenderla in seguito." Pre-modifica, quindi non commentare cose che non capisci.
LM_Fielding
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.