Prilagođeni prijevod
From LimeSurvey Manual
Uvod
Od verzije LimeSurvey 5.4.0 možete imati vlastiti prijevod svih nizova znakova na svim uključenim jezicima uz izravan pristup svojoj bazi podataka.
Ovaj se sustav može koristiti ako postojeći prijevod nije usklađen s potrebama vašeg poslovanja.
Treba ga rezervirati za posebne slučajeve, jer će izmjene teksta u samoj jezgri LimeSurveya ponovno zahtijevati izmjenu vaše baze podataka.
Osim toga, ovu metodu možete koristiti za prevođenje nizova znakova specifičnih za temu upitnika.
Kako funkcioniraju prijevodi iz baze podataka
Za prijevode iz baze podataka LimeSurvey koristi metodu inspiriranu klasom CDbMessageSource iz Yii frameworka.
- pronađite tekst u tablici SourceMessage lime_source_message->message i dohvatite id : lime_source_message->id
- ako postoji, pronađite povezani prijevod u tablici Message lime_message->translation za trenutni jezik lime_message->language s trenutnim id-om lime_message->id
LimeSurvey stvara niz s prijevodima iz po datoteke (informacije o tome kako ažurirati tu datoteku potražite u članku Prevođenje LimeSurveya), a zatim ga spaja sa svim prijevodima iz baze podataka.
Prijevodi iz baze podataka uvijek se vraćaju ako postoje.
Primjer za gumb „Pošalji” na engleskom i francuskom
Želite prikazati _Validate_ umjesto _Submit_ na gumbu za slanje u svim svojim upitnicima (s određenom temom). Ako samo ažurirate temu i zamijenite gT('Submit') s gT('Validate'), uvijek će se prikazivati _Validate_ na svim jezicima.
Za sve upitnike sa svim temama
- Stvorite izvornu poruku
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Provjerite ID (ako je prva: ID je 1) i upotrijebite ga u sljedećoj naredbi
- Stvorite povezani prijevod :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Nemojte zamijeniti tekst praznim nizom jer će se prijevod vratiti na izvornu englesku rečenicu. Morate uključiti barem jedan razmak.
Korištenje vlastite teme (preporučeno rješenje)
Ova metoda koristi rješenje s vlastitim predloškom i ažurira zadani tekst i za sve ostale jezike.
- U uređivaču teme odaberite dio Navigacija
- Potražite
Template:GT("Submit")(u datoteci navigator.twig) - Zamijenite s
Template:GT("Validate") - Stvorite izvornu poruku
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Provjerite ID (ako je prva: ID je 1) i upotrijebite ga u sljedećoj naredbi
- Stvorite povezani prijevod :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Napomena
Polje category u tablici lime_source_message mora biti prazan niz (''), a ne NULL. Ako se kategorija ne podudara točno, gT() neće pronaći izvornu poruku i vaš prijevod neće biti primijenjen. To je posebno važno pri dodavanju prijevoda za nizove znakova specifične za temu.