Vlastný preklad
From LimeSurvey Manual
Úvod
Od verzie LimeSurvey 5.4.0 môžete mať vlastný preklad všetkých reťazcov vo všetkých zahrnutých jazykoch s priamym prístupom k databáze.
Tento systém možno použiť, ak existujúci preklad nevyhovuje potrebám vašej organizácie.
Mal by byť vyhradený pre konkrétne prípady, pretože textové úpravy v jadre LimeSurvey si opäť vyžiadajú úpravu vašej databázy.
Túto metódu môžete okrem toho použiť aj na preklad reťazcov špecifických pre motív prieskumu.
Ako fungujú databázové preklady
Pre databázové preklady LimeSurvey používa metódu inšpirovanú triedou CDbMessageSource z frameworku Yii.
- nájde sa reťazec v tabuľke SourceMessage lime_source_message->message a získa sa id : lime_source_message->id
- ak existuje, nájde sa príslušný preklad v tabuľke Message lime_message->translation pre aktuálny jazyk lime_message->language s aktuálnym id lime_message->id
LimeSurvey vytvorí pole s prekladmi zo súboru po (informácie o aktualizácii tohto súboru nájdete v časti Preklad LimeSurvey) a následne ho zlúči so všetkými prekladmi z databázy.
Preklady z databázy sa potom vždy použijú, ak existujú.
Príklad pre tlačidlo „Odoslať“ v angličtine a francúzštine
Chcete, aby sa na tlačidle na odoslanie vo všetkých vašich prieskumoch (s konkrétnym motívom) zobrazovalo _Validate_ a nie _Submit_. Ak len upravíte motív a nahradíte gT('Submit') za gT('Validate'), zobrazí sa _Validate_ vo všetkých jazykoch.
Pre všetky prieskumy so všetkými motívmi
- Vytvorte zdrojovú správu
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Skontrolujte ID (ak ide o prvý záznam, ID je 1) a použite ho v ďalšom kroku
- Vytvorte príslušný preklad :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Reťazec nenahrádzajte prázdnym reťazcom, inak sa preklad vráti k pôvodnej anglickej vete. Musíte zadať aspoň medzeru.
Použitie vlastného motívu (odporúčané riešenie)
Táto metóda používa riešenie s vlastnou šablónou a aktualizuje predvolený reťazec aj pre všetky ostatné jazyky.
- V časti Editor tém vyberte časť Navigácia
- Vyhľadajte
Template:GT("Submit")(v súbore navigator.twig) - Nahraďte za
Template:GT("Validate") - Vytvorte zdrojovú správu
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Skontrolujte ID (ak ide o prvý záznam, ID je 1) a použite ho v ďalšom kroku
- Vytvorte príslušný preklad :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Upozornenie
Pole category v tabuľke lime_source_message musí byť prázdny reťazec (''), nie NULL. Ak sa kategória presne nezhoduje, gT() nenájde zdrojovú správu a váš preklad sa nepoužije. Je to obzvlášť dôležité pri pridávaní prekladov pre reťazce špecifické pre motív.