Mengapa Magento 2 menangguhkan terjemahan inline saat mengirim email transaksional?

11

Apa yang Magento 2 coba hindari dengan menangguhkan terjemahan inline sebelum mengirim dan kemudian melanjutkan setelah?

LM_Fielding
sumber

Jawaban:

5

Terjemahan sebaris dinonaktifkan saat mengirim email karena, ketika terjemahan sebaris aktif, semua teks cetakan yang dapat diterjemahkan ( __('Text here')) melewatiMagento\Framework\Phrase\RendererMagento\Framework\Phrase\Renderer\Inline::render

Metode ini menambahkan beberapa markup di sekitar teks {{{dan }}}yang digunakan kemudian oleh beberapa kode javascript yang menginterpretasikannya dan memperlihatkan tombol dan popup kecil yang bagus untuk terjemahan inline .... tetapi ....

Ini hanya berfungsi jika Anda berada di situs web yang dimaksud dan js dimuat.
Karena phtmltemplat dapat digunakan dalam templat email, jika terjemahan inline diaktifkan, Anda akan mendapatkan teks dalam surel seperti {{{ some text here }}{{ other text here }}}karena markup khusus tidak akan ditafsirkan.
Jadi ini adalah langkah keamanan sehingga Anda tidak mengacaukan tempalt email Anda

Marius
sumber
3

Ketika terjemahan in-line diizinkan, string fungsi publik akan diterjemahkan sesuai. Jadi, Anda perlu menonaktifkannya dan melanjutkannya nanti.

Ini juga mencegah masalah dengan terjemahan inline yang tidak diaktifkan dengan benar.

Menambahkan fungsi untuk menangguhkan terjemahan inline terkait dengan konflik, harap baca:

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

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

BartZalas
sumber
Tidak menjawab pertanyaan dengan cara apa pun yang saya mengerti.
LM_Fielding
Saya memberi Anda upvote saya. Inilah jawaban yang Anda cari. Anda bertanya apa yang ingin dihindari dan dia punya jawaban yang cukup solid untuk itu. Jangan hanya downvote karena Anda tidak mengerti.
CompactCode
"Ketika terjemahan in-line diizinkan, fungsi publik akan diterjemahkan sesuai. Jadi, Anda perlu menonaktifkannya dan melanjutkannya nanti." Pra-edit, jadi jangan mengomentari hal-hal yang tidak Anda mengerti.
LM_Fielding