Anpassad översättning
From LimeSurvey Manual
Introduktion
Sedan LimeSurvey 5.4.0 kan du ha din egen översättning för alla textsträngar på alla inkluderade språk med direkt åtkomst till din databas.
Det här systemet kan användas om en befintlig översättning inte passar dina verksamhetsbehov.
Det bör reserveras för specifika fall, eftersom textändringar i själva kärnan av LimeSurvey återigen kräver en ändring i din databas.
Dessutom kan du använda den här metoden för att översätta textsträngar som är specifika för en enkätmall.
Så fungerar databasöversättningar
För databasöversättningar använder LimeSurvey en metod som är inspirerad av CDbMessageSource från ramverket Yii.
- Hitta textsträngen i tabellen SourceMessage lime_source_message->message och hämta id:t : lime_source_message->id
- Om den finns, hitta den relaterade översättningen i tabellen Message lime_message->translation för aktuellt språk lime_message->language med aktuellt id lime_message->id
LimeSurvey skapar samlingen med översättningar från po-filen (se Översätta LimeSurvey för information om hur du uppdaterar den filen) och slår därefter ihop den med alla översättningar från databasen.
Därefter returneras översättningarna från databasen alltid om de finns.
Exempel för knappen ”Skicka” på engelska och franska
Du vill visa _Validate_ och inte _Submit_ på knappen för att skicka in i alla dina enkäter (med ett specifikt tema). Om du bara uppdaterar temat och ersätter gT('Submit') med gT('Validate') visas alltid _Validate_ på alla språk.
För alla enkäter med alla teman
- Skapa källmeddelandet
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Kontrollera ID:t (om det är det första: ID är 1) och använd det i nästa instruktion
- Skapa den relaterade översättningen :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Ersätt inte textsträngen med en tom sträng, annars faller översättningen tillbaka på den ursprungliga engelska meningen. Du måste ange minst ett mellanslag.
Använda ditt eget tema (rekommenderad lösning)
Den här metoden använder en lösning med din egen mall och uppdaterar standardtexten för alla andra språk också.
- I Tema redigerare väljer du delen Navigation
- Sök efter
Template:GT("Submit")(i navigator.twig) - Ersätt med
Template:GT("Validate") - Skapa källmeddelandet
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Kontrollera ID:t (om det är det första: ID är 1) och använd det i nästa instruktion
- Skapa den relaterade översättningen :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Observera
Fältet category i lime_source_message måste vara en tom sträng (''), inte NULL. Om kategorin inte stämmer exakt hittar gT() inte källmeddelandet och din översättning tillämpas inte. Det här är särskilt viktigt när du lägger till översättningar för temaspecifika textsträngar.