Prilagojen prevod
From LimeSurvey Manual
Uvod
Od različice LimeSurvey 5.4.0 lahko imate z neposrednim dostopom do podatkovne baze lasten prevod vseh nizov v vseh vključenih jezikih.
Ta sistem lahko uporabite, če obstoječi prevod ni skladen z vašimi poslovnimi potrebami.
Uporabljajte ga le v posebnih primerih, saj bodo spremembe besedila v jedru LimeSurvey ponovno zahtevale spremembo vaše podatkovne baze.
Poleg tega lahko to metodo uporabite tudi za prevajanje nizov, specifičnih za temo ankete.
Kako delujejo prevodi v podatkovni bazi
Za prevode v podatkovni bazi LimeSurvey uporablja metodo, ki jo je navdihnil CDbMessageSource iz ogrodja Yii.
- poišči niz v tabeli SourceMessage lime_source_message->message in pridobi id: lime_source_message->id
- če obstaja, poišči pripadajoči prevod v tabeli Message lime_message->translation za trenutni jezik lime_message->language s trenutnim id lime_message->id
LimeSurvey ustvari polje s prevodi iz datoteke po (informacije o posodobitvi te datoteke najdete v Prevajanje LimeSurvey) in ga nato združi z vsemi prevodi iz podatkovne baze.
Prevodi iz podatkovne baze so nato vedno uporabljeni, če obstajajo.
Primer za gumb »Pošlji« v angleščini in francoščini
Pri gumbu za pošiljanje v vseh svojih anketah (z določeno temo) želite prikazati _Validate_ in ne _Submit_. Če samo posodobite temo in zamenjate gT('Submit') z gT('Validate'), se bo _Validate_ prikazal v vseh jezikih.
Za vse ankete z vsemi temami
- Ustvarite izvorno sporočilo
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Preverite ID (če je prvi: ID je 1) in ga uporabite v naslednjem ukazu
- Ustvarite pripadajoči prevod:
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Niza ne zamenjajte s praznim nizom, sicer se bo prevod vrnil na izvirni angleški stavek. Vključiti morate vsaj presledek.
Uporaba lastne teme (priporočena rešitev)
Ta metoda uporablja rešitev z lastno predlogo, ki posodobi privzeti niz tudi za vse druge jezike.
- V urejevalniku tem izberite del Navigacija
- Poiščite
Template:GT("Submit")(v navigator.twig) - Zamenjajte z
Template:GT("Validate") - Ustvarite izvorno sporočilo
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Preverite ID (če je prvi: ID je 1) in ga uporabite v naslednjem ukazu
- Ustvarite pripadajoči prevod:
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Opomba
Polje category v lime_source_message mora biti prazen niz (''), ne NULL. Če se kategorija ne ujema natančno, gT() ne bo našel izvornega sporočila in vaš prevod ne bo uporabljen. To je še posebej pomembno pri dodajanju prevodov za nize, specifične za temo.