Vlastní překlad
From LimeSurvey Manual
Úvod
Od verze LimeSurvey 5.4.0 můžete mít vlastní překlad všech řetězců ve všech obsažených jazycích s přímým přístupem do databáze.
Tento systém lze použít, pokud stávající překlad nevyhovuje potřebám vaší organizace.
Měl by být vyhrazen pro specifické případy, protože jakákoli úprava textů v jádru LimeSurvey bude opět vyžadovat úpravu vaší databáze.
Tuto metodu můžete dále použít také pro překlad řetězců specifických pro motiv průzkumu.
Jak fungují databázové překlady
Pro databázové překlady LimeSurvey používá metodu inspirovanou třídou CDbMessageSource z frameworku Yii.
- najděte řetězec v tabulce SourceMessage lime_source_message->message a zjistěte jeho id: lime_source_message->id
- pokud existuje, najděte související překlad v tabulce Message lime_message->translation pro aktuální jazyk lime_message->language s aktuálním id lime_message->id
LimeSurvey vytvoří pole s překlady ze souboru po (informace o aktualizaci tohoto souboru naleznete v části Překlad LimeSurvey) a poté jej sloučí se všemi překlady z databáze.
Překlady z databáze jsou pak vždy vráceny, pokud existují.
Příklad pro tlačítko „Odeslat“ v angličtině a francouzštině
Chcete zobrazit _Validate_ a ne _Submit_ na tlačítku pro odeslání ve všech svých průzkumech (s konkrétním motivem). Pokud pouze upravíte motiv a nahradíte gT('Submit') za gT('Validate'), bude se ve všech jazycích vždy zobrazovat _Validate_.
Pro všechny průzkumy se všemi motivy
- Vytvořte zdrojovou zprávu
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Zkontrolujte ID (pokud je první, ID je 1) a použijte je v dalším kroku
- Vytvořte související překlad:
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Nenahrazujte řetězec prázdným řetězcem, jinak se překlad vrátí k původní anglické větě. Musíte zadat alespoň mezeru.
Použití vlastního motivu (doporučené řešení)
Tato metoda využívá vlastní šablonu a aktualizuje výchozí řetězec také pro všechny ostatní jazyky.
- V Editoru motivu vyberte část Navigace
- Vyhledejte
Template:GT("Submit")(v souboru navigator.twig) - Nahraďte za
Template:GT("Validate") - Vytvořte zdrojovou zprávu
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Zkontrolujte ID (pokud je první, ID je 1) a použijte je v dalším kroku
- Vytvořte související překlad:
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Upozornění
Pole category v tabulce lime_source_message musí být prázdný řetězec (''), nikoli NULL. Pokud kategorie přesně neodpovídá, gT() zdrojovou zprávu nenajde a váš překlad nebude použit. Je to obzvlášť důležité při přidávání překladů řetězců specifických pro motiv.