x

Capítulos principais

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Guia de início rápido - LimeSurvey 3.0+
  3. Instalação - LimeSurvey CE
  4. Como criar um bom inquérito (guia)
  5. Iniciando
  6. Administrando o LimeSurvey
  7. Questionários - introdução
  8. Configurações do questionário
  9. Menu da pesquisa
  10. Estrutura da pesquisa
  11. Perguntas - introdução
  12. Grupos de perguntas - introdução
  13. Questionários - gerenciamento
  14. Opções da barra de ferramentas do questionário
  15. Questionário multilíngue
  16. ExpressionScript Engine - Guia de início rápido
  17. Recursos avançados e não categorizados
  18. FAQ geral
  19. Solução de problemas
  20. Soluções alternativas
  21. Licença
  22. Registro de mudanças da versão
  23. Plugins
 Actions

Tradução personalizada

From LimeSurvey Manual

Esta página pode ter sido traduzida automaticamente e conter erros. Ver o original em inglês · Melhorar esta tradução
This page is a translated version of the page Custom translation and the translation is 100% complete.

Introdução

Desde o LimeSurvey 5.4.0, você pode ter sua própria tradução para todas as strings em todos os idiomas incluídos, com acesso direto ao seu banco de dados.

Este sistema pode ser usado se uma tradução existente não for compatível com as necessidades do seu negócio.

Ele deve ser reservado para casos específicos, pois modificações de texto no núcleo do LimeSurvey exigirão novamente uma modificação do seu banco de dados.

Além disso, você pode usar este método para traduzir strings específicas de um tema do questionário.

Como funcionam as traduções do banco de dados

Para as traduções do banco de dados, o LimeSurvey usa um método inspirado no CDbMessageSource do framework Yii.

  1. encontre a string na tabela SourceMessage lime_source_message->message e obtenha o id: lime_source_message->id
  2. se existir, encontre a tradução relacionada na tabela Message lime_message->translation para o idioma atual lime_message->language com o id atual lime_message->id

O LimeSurvey cria o array de traduções a partir do arquivo po (consulte Traduzindo o LimeSurvey para saber como atualizar esse arquivo) e, depois, o mescla com todas as traduções do banco de dados.

Assim, as traduções do banco de dados são sempre retornadas, caso existam.

Exemplo para o botão “Enviar” em inglês e francês

Você quer exibir _Validate_ e não _Submit_ no botão de envio em todos os seus questionários (com um tema específico). Se você apenas atualizar o tema e substituir gT('Submit') por gT('Validate'), ele sempre exibirá _Validate_ em todos os idiomas.

Para todos os questionários com todos os temas

  1. Crie a mensagem de origem INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. Verifique o ID (se for o primeiro: o ID é 1) e use-o na próxima instrução
  3. Crie a tradução relacionada: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

Não substitua a string por uma string vazia, ou a tradução voltará para a frase original em inglês. Você deve incluir pelo menos um espaço.

Usando seu próprio tema (solução recomendada)

Este método usa uma solução com o seu próprio tema e também atualiza a string padrão para todos os outros idiomas.

  1. No Editor de temas, selecione a parte Navegação
  2. Procure por Template:GT("Submit") (em navigator.twig)
  3. Substitua por Template:GT("Validate")
  4. Crie a mensagem de origem INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. Verifique o ID (se for o primeiro: o ID é 1) e use-o na próxima instrução
  6. Crie a tradução relacionada: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

Observação

O campo category em lime_source_message deve ser uma string vazia (''), não NULL. Se a categoria não corresponder exatamente, o gT() não encontrará a mensagem de origem e a sua tradução não será aplicada. Isso é especialmente importante ao adicionar traduções de strings específicas de um tema.