Terjemahan tersuai
From LimeSurvey Manual
Pengenalan
Sejak LimeSurvey 5.4.0, anda boleh mempunyai terjemahan sendiri untuk semua rentetan dalam semua bahasa yang disertakan melalui akses terus ke pangkalan data anda.
Sistem ini boleh digunakan jika terjemahan sedia ada tidak sesuai dengan keperluan perniagaan anda.
Ia sepatutnya dikhaskan untuk kes-kes tertentu, kerana pengubahsuaian teks di bahagian teras LimeSurvey akan memerlukan pengubahsuaian pangkalan data anda sekali lagi.
Selain itu, anda boleh menggunakan kaedah ini untuk menterjemah rentetan khusus bagi Tema tinjauan.
Cara terjemahan pangkalan data berfungsi
Untuk terjemahan pangkalan data, LimeSurvey menggunakan kaedah yang diilhamkan oleh CDbMessageSource daripada rangka kerja Yii.
- cari rentetan dalam jadual SourceMessage lime_source_message->message, dapatkan id : lime_source_message->id
- jika wujud, cari terjemahan berkaitan dalam jadual Message lime_message->translation untuk bahasa semasa lime_message->language dengan id semasa lime_message->id
LimeSurvey mencipta tatasusunan dengan terjemahan daripada fail po (lihat Menterjemah LimeSurvey untuk maklumat tentang cara mengemas kini fail ini), dan kemudian menggabungkannya dengan semua terjemahan daripada pangkalan data.
Kemudian, terjemahan daripada pangkalan data sentiasa dipulangkan jika ia wujud.
Contoh untuk butang “Hantar” dalam bahasa Inggeris dan Perancis
Anda mahu memaparkan _Validate_ dan bukan _Submit_ pada butang hantar dalam semua tinjauan anda (dengan tema tertentu). Jika anda hanya mengemas kini tema dan menggantikan gT('Submit') dengan gT('Validate') : ia akan sentiasa memaparkan _Validate_ dalam semua bahasa.
Untuk Semua tinjauan dengan Semua tema
- Cipta mesej sumber
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Semak ID (jika ia yang pertama : ID ialah 1) dan gunakannya untuk arahan seterusnya
- Cipta terjemahan berkaitan :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Jangan gantikan rentetan dengan rentetan kosong, kerana terjemahan akan kembali kepada ayat asal bahasa Inggeris. Anda mesti menyertakan sekurang-kurangnya satu ruang.
Menggunakan tema anda sendiri (penyelesaian disyorkan)
Kaedah ini menggunakan penyelesaian dengan templat anda sendiri, dan ia turut mengemas kini rentetan lalai untuk semua bahasa lain.
- Dalam Penyunting tema, pilih bahagian Navigasi
- Cari
Template:GT("Submit")(dalam navigator.twig) - Gantikan dengan
Template:GT("Validate") - Cipta mesej sumber
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Semak ID (jika ia yang pertama : ID ialah 1) dan gunakannya untuk arahan seterusnya
- Cipta terjemahan berkaitan :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Sila Ambil Perhatian
Medan category dalam lime_source_message mesti berupa rentetan kosong (''), bukan NULL. Jika kategori tidak sepadan dengan tepat, gT() tidak akan menemui mesej sumber, dan terjemahan anda tidak akan diterapkan. Ini amat penting apabila menambah terjemahan untuk rentetan khusus tema.