Terjemahan khusus
From LimeSurvey Manual
Pendahuluan
Sejak LimeSurvey 5.4.0, Anda dapat memiliki terjemahan sendiri untuk semua string di semua bahasa yang disertakan dengan akses langsung ke basis data Anda.
Sistem ini dapat digunakan jika terjemahan yang ada tidak sesuai dengan kebutuhan bisnis Anda.
Metode ini sebaiknya dicadangkan untuk kasus-kasus tertentu, karena perubahan teks pada inti LimeSurvey akan kembali memerlukan perubahan pada basis data Anda.
Selain itu, Anda dapat menggunakan metode ini untuk menerjemahkan string yang khusus untuk Tema survei.
Cara kerja terjemahan basis data
Untuk terjemahan basis data, LimeSurvey menggunakan metode yang terinspirasi dari CDbMessageSource milik framework Yii.
- cari string di tabel SourceMessage lime_source_message->message, lalu ambil id-nya : lime_source_message->id
- jika ada, cari terjemahan terkait di tabel Message lime_message->translation untuk bahasa saat ini lime_message->language dengan id saat ini lime_message->id
LimeSurvey membuat larik terjemahan dari berkas po (lihat Menerjemahkan LimeSurvey untuk informasi cara memperbarui berkas ini), kemudian menggabungkannya dengan semua terjemahan dari basis data.
Setelah itu, terjemahan dari basis data selalu dikembalikan jika tersedia.
Contoh tombol “Kirim” dalam bahasa Inggris dan Prancis
Anda ingin menampilkan _Validate_ dan bukan _Submit_ pada tombol kirim di semua survei Anda (dengan tema tertentu). Jika Anda hanya memperbarui tema dan mengganti gT('Submit') dengan gT('Validate'), maka _Validate_ akan selalu tampil di semua bahasa.
Untuk semua survei dengan semua tema
- Buat pesan sumber
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Periksa ID-nya (jika yang pertama: ID-nya 1) dan gunakan untuk instruksi berikutnya
- Buat terjemahan terkait :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Jangan mengganti string dengan string kosong, atau terjemahan akan kembali ke kalimat asli dalam bahasa Inggris. Anda harus menyertakan setidaknya satu spasi.
Menggunakan tema Anda sendiri (solusi yang direkomendasikan)
Metode ini menggunakan solusi dengan templat Anda sendiri, dan juga memperbarui string bawaan untuk semua bahasa lainnya.
- Di Penyunting tema, pilih bagian Navigasi
- Cari
Template:GT("Submit")(di navigator.twig) - Ganti dengan
Template:GT("Validate") - Buat pesan sumber
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Periksa ID-nya (jika yang pertama: ID-nya 1) dan gunakan untuk instruksi berikutnya
- Buat terjemahan terkait :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Harap Diperhatikan
Kolom category pada lime_source_message harus berupa string kosong (''), bukan NULL. Jika kategori tidak cocok persis, gT() tidak akan menemukan pesan sumber, dan terjemahan Anda tidak akan diterapkan. Hal ini sangat penting saat menambahkan terjemahan untuk string yang khusus untuk tema.