Saya sedang mengembangkan aplikasi web PHP multibahasa, dan saya punya teks panjang (-ish) yang perlu saya terjemahkan dengan gettext. Ini adalah templat email (biasanya pendek, tetapi masih beberapa baris) dan beberapa templat tampilan (blok teks yang lebih deskriptif). Teks-teks ini akan menyertakan beberapa HTML sederhana (hal-hal seperti huruf tebal / miring untuk penekanan, mungkin tautan di sini atau di sana). Templat adalah skrip PHP yang hasilnya ditangkap.
Masalahnya adalah bahwa gettext tampaknya sangat canggung untuk menangani teks yang lebih panjang. Teks yang lebih panjang biasanya memiliki lebih banyak perubahan dari waktu ke waktu daripada teks pendek - Saya dapat mengubah msgid dan memastikan untuk memperbaruinya di semua terjemahan (bisa jadi banyak pekerjaan dan sangat rawan kesalahan ketika msgid panjang), atau saya bisa menyimpannya msgid tidak berubah dan hanya memodifikasi terjemahan (yang akan meninggalkan teks usang yang menyesatkan dalam templat). Juga, saya telah melihat saran untuk tidak memasukkan HTML dalam string gettext, tetapi menghindari itu akan memecah satu bagian teks menjadi beberapa bagian, yang akan menjadi mimpi buruk yang lebih besar untuk diterjemahkan dan dipasang kembali, dan saya juga melihat saran untuk pemisahan string gettext yang tidak perlu menjadi pesan terpisah.
Pendekatan lain yang saya lihat adalah mengabaikan gettext sama sekali untuk teks-teks yang lebih panjang ini, dan untuk memisahkan blok-blok itu di subtemplates eksternal untuk setiap lokal, dan hanya memasukkan satu untuk lokal saat ini. Kerugiannya adalah bahwa saya memisahkan upaya penerjemahan antara file .t gettext dan templat terpisah yang terletak di lokasi yang sama sekali berbeda.
Karena aplikasi ini akan digunakan sebagai titik awal untuk aplikasi lain di masa depan, saya mencoba untuk datang dengan pendekatan terbaik untuk jangka panjang. Saya butuh saran untuk praktik terbaik dalam skenario seperti itu. Bagaimana Anda menerapkan kasus serupa? Apa yang ternyata berhasil dan apa yang ternyata merupakan ide yang buruk?