x

Capitoli principali

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Guida rapida - LimeSurvey 3.0+
  3. Installazione - LimeSurvey CE
  4. Come progettare un buon sondaggio (guida)
  5. Iniziare
  6. Amministrazione di LimeSurvey
  7. Sondaggi - introduzione
  8. Impostazioni del sondaggio
  9. Menù sondaggio
  10. Struttura del sondaggio
  11. Domande - introduzione
  12. Gruppi di domande - introduzione
  13. Sondaggi - gestione
  14. Opzioni della barra degli strumenti del sondaggio
  15. Sondaggio multilingue
  16. ExpressionScript Engine - Guida Rapida
  17. Funzionalità non categorizzate e avanzate
  18. Domande frequenti generali
  19. Risoluzione dei problemi
  20. Soluzioni alternative
  21. Licenza
  22. Registro delle modifiche alla versione
  23. Plugin - avanzati
 Actions

Traduzione personalizzata

From LimeSurvey Manual

Questa pagina potrebbe essere stata tradotta automaticamente e contenere errori. Mostra l'originale in inglese · Migliora questa traduzione
This page is a translated version of the page Custom translation and the translation is 100% complete.

Introduzione

A partire da LimeSurvey 5.4.0 è possibile avere una traduzione personalizzata di tutte le stringhe in tutte le lingue incluse, con accesso diretto al proprio database.

Questo sistema può essere utilizzato se una traduzione esistente non è compatibile con le esigenze della propria attività.

Dovrebbe essere riservato a casi specifici, poiché le modifiche ai testi nel cuore di LimeSurvey richiederanno nuovamente una modifica del database.

Inoltre, è possibile utilizzare questo metodo per tradurre le stringhe specifiche del tema dell'indagine.

Come funzionano le traduzioni nel database

Per le traduzioni nel database, LimeSurvey utilizza un metodo ispirato a CDbMessageSource del framework Yii.

  1. trovare la stringa nella tabella SourceMessage lime_source_message->message e ottenere l'id : lime_source_message->id
  2. se esiste, trovare la traduzione corrispondente nella tabella Message lime_message->translation per la lingua corrente lime_message->language con l'id corrente lime_message->id

LimeSurvey crea l'array con le traduzioni dal file po (vedere Tradurre LimeSurvey per informazioni su come aggiornare questo file) e successivamente lo unisce a tutte le traduzioni presenti nel database.

Le traduzioni del database, se esistono, vengono sempre restituite per prime.

Esempio per il pulsante “Invia” in inglese e francese

Si desidera mostrare _Validate_ e non _Submit_ per il pulsante di invio in tutte le proprie indagini (con un tema specifico). Se si aggiorna semplicemente il tema sostituendo gT('Submit') con gT('Validate'), verrà sempre mostrato _Validate_ in tutte le lingue.

Per tutte le indagini con tutti i temi

  1. Creare il messaggio di origine INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. Controllare l'ID (se è il primo, l'ID è 1) e usarlo per l'istruzione successiva
  3. Creare la traduzione corrispondente : INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

Non sostituire la stringa con una stringa vuota, altrimenti la traduzione tornerà alla frase originale in inglese. È necessario includere almeno uno spazio.

Utilizzare un tema personalizzato (soluzione consigliata)

Questo metodo utilizza un template personalizzato e aggiorna la stringa predefinita anche per tutte le altre lingue.

  1. Nell'Editor dei temi selezionare la parte Navigazione
  2. Cercare Template:GT("Submit") (in navigator.twig)
  3. Sostituire con Template:GT("Validate")
  4. Creare il messaggio di origine INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. Controllare l'ID (se è il primo, l'ID è 1) e usarlo per l'istruzione successiva
  6. Creare la traduzione corrispondente : INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

Nota

Il campo category in lime_source_message deve essere una stringa vuota (''), non NULL. Se la categoria non corrisponde esattamente, gT() non troverà il messaggio di origine e la traduzione non verrà applicata. Questo è particolarmente importante quando si aggiungono traduzioni per stringhe specifiche del tema.