x

Capítulos principales

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Guía de inicio rápido - LimeSurvey 3.0+
  3. Instalación - LimeSurvey CE
  4. Cómo diseñar una buena encuesta (guía)
  5. Empezando
  6. Administración de LimeSurvey
  7. Encuestas - introducción
  8. Configuración de la encuesta
  9. Menú de encuesta
  10. Estructura de la encuesta
  11. Preguntas - introducción
  12. Grupos de preguntas: introducción
  13. Encuestas - gestión
  14. Opciones de la barra de herramientas de encuesta
  15. Encuesta multilingüe
  16. Motor ExpressionScript: guía de inicio rápido
  17. Funciones avanzadas y no categorizadas
  18. FAQ - General
  19. Solución de problemas
  20. Soluciones alternativas
  21. Licencia
  22. Registro de cambios de versión
  23. Complementos - avanzado
 Actions

Traducción personalizada

From LimeSurvey Manual

Es posible que esta página se haya traducido automáticamente y contenga errores. Ver el original en inglés · Mejorar esta traducción
This page is a translated version of the page Custom translation and the translation is 100% complete.

Introducción

Desde LimeSurvey 5.4.0 puede tener su propia traducción para todas las cadenas de todos los idiomas incluidos mediante acceso directo a su base de datos.

Este sistema puede utilizarse si una traducción existente no es compatible con las necesidades de su empresa.

Debe reservarse para casos específicos, ya que cualquier modificación de los textos en el núcleo de LimeSurvey requerirá de nuevo una modificación de su base de datos.

Además, puede utilizar este método para traducir cadenas específicas de un tema del formulario.

Cómo funcionan las traducciones en la base de datos

Para las traducciones en la base de datos, LimeSurvey utiliza un método inspirado en CDbMessageSource del framework Yii.

  1. busque la cadena en la tabla SourceMessage lime_source_message->message y obtenga el id: lime_source_message->id
  2. si existe, busque la traducción relacionada en la tabla Message lime_message->translation para el idioma actual lime_message->language con el id actual lime_message->id

LimeSurvey crea la matriz de traducciones a partir del archivo po (consulte Traducir LimeSurvey para obtener información sobre cómo actualizar este archivo) y después la combina con todas las traducciones de la base de datos.

Después, las traducciones de la base de datos se devuelven siempre que existan.

Ejemplo del botón «Enviar» en inglés y francés

Desea mostrar _Validate_ y no _Submit_ en el botón de envío de todos sus formularios (con un tema específico). Si simplemente actualiza el tema y sustituye gT('Submit') por gT('Validate'): se mostrará siempre _Validate_ en todos los idiomas.

Para todos los formularios con todos los temas

  1. Cree el mensaje de origen INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. Compruebe el ID (si es el primero: el ID es 1) y utilícelo en la siguiente instrucción
  3. Cree la traducción relacionada: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

No sustituya la cadena por una cadena vacía, o la traducción volverá a la frase original en inglés. Debe incluir al menos un espacio.

Uso de su propio tema (solución recomendada)

Este método utiliza una solución con su propia plantilla y actualiza también la cadena predeterminada para todos los demás idiomas.

  1. En el Editor de temas seleccione la parte Navegación
  2. Busque Template:GT("Submit") (en navigator.twig)
  3. Sustitúyalo por Template:GT("Validate")
  4. Cree el mensaje de origen INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. Compruebe el ID (si es el primero: el ID es 1) y utilícelo en la siguiente instrucción
  6. Cree la traducción relacionada: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

Tenga en cuenta

El campo category de lime_source_message debe ser una cadena vacía (''), no NULL. Si la categoría no coincide exactamente, gT() no encontrará el mensaje de origen y su traducción no se aplicará. Esto es especialmente importante al añadir traducciones para cadenas específicas de un tema.