Dalam ekstensi yang saya kerjakan, saya memiliki tata letak XML yang ditambahkan melalui config.xml modul. Layout ini memiliki beberapa modifikasi pada frontend. Namun beberapa blok ini termasuk dalam modul inti Magento. Semua templat ditampilkan dengan benar seperti yang diharapkan.
Template yang saya bungkus dengan modul itu sendiri menggunakan file terjemahan modul saya sendiri. Templat yang dipaket dengan inti Magento tidak diterjemahkan. Jika saya menambahkan file terjemahan untuk masing-masing modul inti, maka file terjemahan itu digunakan & template menunjukkan terjemahan.
Apakah ada cara untuk membuat Magento menggunakan file terjemahan modul saya jika tidak dapat menemukan file terjemahan untuk modul inti Magento? Apakah ada hal lain yang bisa saya lakukan di sini?
sumber
$this->__()
atauMage::helper('...')->__()
. Dalam kasus pertama, Anda dapat memaksa blokir untuk menggunakan bantuan terjemahan Anda. Tapi saya percaya dalam kasus umum satu-satunya pilihan adalah peningkatan data untukcore_translate
tabel. Berikut pertanyaan internasionalisasi dijelaskan secara rinci: blog.belvg.com/… .Jawaban:
Tidak peduli bagaimana Anda mendekatinya, masalah Anda membutuhkan solusi "kreatif", yang layak digunakan sebagai catatan pengembang untuk pengembang / pengelola berikutnya untuk digunakan. Pertama, beberapa latar belakang, diikuti oleh catatan, diikuti oleh solusi yang mudah dan saya pikir masuk akal di akhir
<--
tl; dr .Seperti yang ditunjukkan Zyava , terjemahan tunduk pada modul yang melakukan terjemahan. Templat disajikan dalam contoh blok, dan contoh blok memiliki
module_name
properti yang digunakan saat memohon terjemahan; refMage_Core_Block_Abstract::__()
:The
module_name
properti (biasanya) yang diperoleh pada permintaan dan berdasarkan nama kelas (ref.::getModuleName()
):Jadi, jika
module_name
properti sudah diatur, bahwa terjemahan modul berlaku. Untuk blok yang masih ada dari tata letak inti, properti ini dapat diatur melalui tata letak XML; sebagai contoh:Voa! CSV modul Anda memiliki terjemahan untuk contoh itu. Ini bisa menjadi pendekatan. Tentu saja, masih ada situasi yang sulit dari terjemahan modul-modul lain yang diterapkan melalui pembantu khusus modul dalam contoh blok (termasuk file templat tentu saja), dan itu selalu berlaku untuk tata letak terjemahan XML. Juga, pendekatan ini akan memutus perilaku Disable Modul Output, yang menggunakan
module_name
param.Larutan
Ternyata, dimungkinkan untuk menentukan beberapa file terjemahan untuk sebuah modul. Itu tidak dilakukan dalam inti (setiap modul hanya mendeklarasikan satu file .csv ), tetapi fungsinya ada di
Mage_Core_Model_Translate
:dan
Karena konten file digabung (saya uji), dimungkinkan untuk menentukan hanya string yang ingin Anda timpa dalam CSV khusus Anda. Misalnya, jika Anda ingin menerjemahkan string Informasi Tambahan pada halaman produk (diterjemahkan oleh
Mage_Catalog
modul), yang berikut ini akan berfungsi:app / locale / Custom.csv :
Dalam konfigurasi modul Anda - yang seharusnya
<depends />
aktifMage_Catalog
untuk memastikan kontennya bergabung setelah - yang berikut akan menyebabkan pasangan terjemahan Custom.csv bergabung di atas yang asli:Yang menyenangkan tentang pendekatan ini adalah Anda dapat mengumpulkan terjemahan inti utama Anda dalam satu file.
sumber