decidim-forms 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +65 -0
- data/Rakefile +3 -0
- data/app/assets/config/admin/decidim_forms_manifest.js +1 -0
- data/app/assets/config/decidim_forms_manifest.js +1 -0
- data/app/assets/images/decidim/surveys/icon.svg +19 -0
- data/app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6 +25 -0
- data/app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6 +23 -0
- data/app/assets/javascripts/decidim/forms/admin/forms.js.es6 +188 -0
- data/app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6 +65 -0
- data/app/assets/javascripts/decidim/forms/forms.js.es6 +20 -0
- data/app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6 +32 -0
- data/app/commands/decidim/forms/admin/update_questionnaire.rb +86 -0
- data/app/commands/decidim/forms/answer_questionnaire.rb +54 -0
- data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +95 -0
- data/app/controllers/decidim/forms/concerns/has_questionnaire.rb +84 -0
- data/app/forms/decidim/forms/admin/answer_option_form.rb +23 -0
- data/app/forms/decidim/forms/admin/question_form.rb +35 -0
- data/app/forms/decidim/forms/admin/questionnaire_form.rb +27 -0
- data/app/forms/decidim/forms/answer_choice_form.rb +15 -0
- data/app/forms/decidim/forms/answer_form.rb +69 -0
- data/app/forms/decidim/forms/questionnaire_form.rb +22 -0
- data/app/helpers/decidim/forms/admin/application_helper.rb +19 -0
- data/app/models/concerns/decidim/forms/has_questionnaire.rb +20 -0
- data/app/models/decidim/forms/answer.rb +45 -0
- data/app/models/decidim/forms/answer_choice.rb +15 -0
- data/app/models/decidim/forms/answer_option.rb +11 -0
- data/app/models/decidim/forms/application_record.rb +10 -0
- data/app/models/decidim/forms/question.rb +36 -0
- data/app/models/decidim/forms/questionnaire.rb +23 -0
- data/app/queries/decidim/forms/questionnaire_user_answers.rb +28 -0
- data/app/views/decidim/forms/admin/questionnaires/_answer_option.html.erb +44 -0
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +51 -0
- data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +115 -0
- data/app/views/decidim/forms/admin/questionnaires/edit.html.erb +7 -0
- data/app/views/decidim/forms/questionnaires/_answer.html.erb +94 -0
- data/app/views/decidim/forms/questionnaires/show.html.erb +84 -0
- data/config/locales/ca.yml +79 -0
- data/config/locales/de.yml +79 -0
- data/config/locales/en.yml +79 -0
- data/config/locales/es-PY.yml +79 -0
- data/config/locales/es.yml +79 -0
- data/config/locales/eu.yml +79 -0
- data/config/locales/fi-pl.yml +79 -0
- data/config/locales/fi.yml +79 -0
- data/config/locales/fr.yml +79 -0
- data/config/locales/gl.yml +79 -0
- data/config/locales/hu.yml +79 -0
- data/config/locales/id-ID.yml +1 -0
- data/config/locales/it.yml +79 -0
- data/config/locales/nl.yml +79 -0
- data/config/locales/pl.yml +79 -0
- data/config/locales/pt-BR.yml +79 -0
- data/config/locales/pt.yml +79 -0
- data/config/locales/ru.yml +1 -0
- data/config/locales/sv.yml +79 -0
- data/config/locales/tr-TR.yml +1 -0
- data/config/locales/uk.yml +1 -0
- data/db/migrate/20170511092231_create_decidim_forms_questionnaires.rb +15 -0
- data/db/migrate/20170515090916_create_decidim_forms_questions.rb +17 -0
- data/db/migrate/20170515144119_create_decidim_forms_answers.rb +15 -0
- data/db/migrate/20180405015012_create_decidim_forms_answer_options.rb +11 -0
- data/db/migrate/20180405015147_create_decidim_forms_answer_choices.rb +13 -0
- data/lib/decidim/forms.rb +13 -0
- data/lib/decidim/forms/admin.rb +9 -0
- data/lib/decidim/forms/admin_engine.rb +21 -0
- data/lib/decidim/forms/data_portability_user_answers_serializer.rb +37 -0
- data/lib/decidim/forms/engine.rb +14 -0
- data/lib/decidim/forms/test.rb +4 -0
- data/lib/decidim/forms/test/factories.rb +55 -0
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +524 -0
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires.rb +626 -0
- data/lib/decidim/forms/user_answers_serializer.rb +29 -0
- data/lib/decidim/forms/version.rb +10 -0
- metadata +165 -0
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= decidim_form_for(@form, url: update_url, method: :put, html: { class: "form edit_questionnaire" }) do |form| %>
|
2
|
+
<%= render partial: "decidim/forms/admin/questionnaires/form", object: form, locals: { title: t(".title") } %>
|
3
|
+
|
4
|
+
<div class="button--double form-general-submit">
|
5
|
+
<%= form.submit t(".save"), class: "button" %>
|
6
|
+
</div>
|
7
|
+
<% end %>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<% field_id = "questionnaire_answers_#{answer_idx}" %>
|
2
|
+
<%= label_tag field_id, answer.label(answer_idx), class: "questionnaire-question" %>
|
3
|
+
|
4
|
+
<% if translated_attribute(answer.question.description).present? %>
|
5
|
+
<div class="help-text">
|
6
|
+
<%= decidim_sanitize translated_attribute(answer.question.description) %>
|
7
|
+
</div>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<% case answer.question.question_type %>
|
11
|
+
<% when "short_answer" %>
|
12
|
+
<%= answer_form.text_field :body, label: false, id: field_id, disabled: disabled %>
|
13
|
+
<% when "long_answer" %>
|
14
|
+
<%= answer_form.text_area :body, label: false, id: field_id, rows: 10, disabled: disabled %>
|
15
|
+
<% when "single_option" %>
|
16
|
+
<div class="radio-button-collection">
|
17
|
+
<% choice = answer.choices.first %>
|
18
|
+
|
19
|
+
<% answer.question.answer_options.each_with_index do |answer_option, idx| %>
|
20
|
+
<% choice_id = "#{field_id}_choices_#{idx}" %>
|
21
|
+
|
22
|
+
<%= label_tag "#{choice_id}_body" do %>
|
23
|
+
<%= radio_button_tag "questionnaire[answers][#{answer_idx}][choices][][body]",
|
24
|
+
translated_attribute(answer_option.body),
|
25
|
+
choice.try(:body),
|
26
|
+
id: "#{choice_id}_body", disabled: disabled %>
|
27
|
+
|
28
|
+
<%= translated_attribute(answer_option.body) %>
|
29
|
+
|
30
|
+
<% if answer_option.free_text %>
|
31
|
+
<%= text_field_tag "questionnaire[answers][#{answer_idx}][choices][][custom_body]",
|
32
|
+
choice.try(:custom_body),
|
33
|
+
id: "#{choice_id}_custom_body",
|
34
|
+
disabled: true %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
<%= hidden_field_tag "questionnaire[answers][#{answer_idx}][choices][][answer_option_id]",
|
38
|
+
answer_option.id,
|
39
|
+
id: "#{choice_id}_answer_option",
|
40
|
+
disabled: true %>
|
41
|
+
<% end %>
|
42
|
+
<% end %>
|
43
|
+
</div>
|
44
|
+
<% when "multiple_option" %>
|
45
|
+
<div class="check-box-collection">
|
46
|
+
<% answer.question.answer_options.each_with_index do |answer_option, idx| %>
|
47
|
+
<% choice = answer.selected_choices.find { |choice| choice.answer_option_id == answer_option.id } %>
|
48
|
+
|
49
|
+
<%= label_tag do %>
|
50
|
+
<%= check_box_tag "questionnaire[answers][#{answer_idx}][choices][#{idx}][body]",
|
51
|
+
translated_attribute(answer_option.body),
|
52
|
+
choice.present?, disabled: disabled %>
|
53
|
+
|
54
|
+
<%= translated_attribute(answer_option.body) %>
|
55
|
+
|
56
|
+
<% if answer_option.free_text %>
|
57
|
+
<%= text_field_tag "questionnaire[answers][#{answer_idx}][choices][#{idx}][custom_body]",
|
58
|
+
choice.try(:custom_body),
|
59
|
+
disabled: true %>
|
60
|
+
<% end %>
|
61
|
+
|
62
|
+
<%= hidden_field_tag "questionnaire[answers][#{answer_idx}][choices][#{idx}][answer_option_id]", answer_option.id %>
|
63
|
+
<% end %>
|
64
|
+
<% end %>
|
65
|
+
</div>
|
66
|
+
<% when "sorting" %>
|
67
|
+
<div class="sortable-check-box-collection">
|
68
|
+
<% answer.question.answer_options.each_with_index do |answer_option, idx| %>
|
69
|
+
<% choice = answer.selected_choices.find { |choice| choice.answer_option_id == answer_option.id } %>
|
70
|
+
|
71
|
+
<%= label_tag do %>
|
72
|
+
<%= check_box_tag "questionnaire[answers][#{answer_idx}][choices][#{idx}][body]",
|
73
|
+
translated_attribute(answer_option.body),
|
74
|
+
choice.present?, disabled: disabled %>
|
75
|
+
|
76
|
+
<span class="position"><%= choice.try(:position) %></span>
|
77
|
+
|
78
|
+
<%= translated_attribute(answer_option.body) %>
|
79
|
+
|
80
|
+
<%= hidden_field_tag "questionnaire[answers][#{answer_idx}][choices][#{idx}][position]",
|
81
|
+
choice.try(:position),
|
82
|
+
disabled: true %>
|
83
|
+
|
84
|
+
<%= hidden_field_tag "questionnaire[answers][#{answer_idx}][choices][#{idx}][answer_option_id]", answer_option.id %>
|
85
|
+
<% end %>
|
86
|
+
<% end %>
|
87
|
+
</div>
|
88
|
+
<% end %>
|
89
|
+
|
90
|
+
<%= answer_form.hidden_field :question_id %>
|
91
|
+
|
92
|
+
<% answer.errors.full_messages.each do |msg| %>
|
93
|
+
<small class="form-error is-visible"><%= msg %></small>
|
94
|
+
<% end %>
|
@@ -0,0 +1,84 @@
|
|
1
|
+
<% add_decidim_meta_tags({
|
2
|
+
title: translated_attribute(questionnaire.title),
|
3
|
+
description: translated_attribute(questionnaire.description),
|
4
|
+
}) %>
|
5
|
+
|
6
|
+
<%= render partial: "decidim/shared/component_announcement" %>
|
7
|
+
|
8
|
+
<div class="row columns">
|
9
|
+
<h2 class="section-heading"><%= translated_attribute questionnaire.title %></h2>
|
10
|
+
<div class="row">
|
11
|
+
<div class="columns large-6 medium-centered lead">
|
12
|
+
<%= decidim_sanitize translated_attribute questionnaire.description %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<div class="row">
|
18
|
+
<div class="columns large-6 medium-centered">
|
19
|
+
<div class="card">
|
20
|
+
<div class="card__content">
|
21
|
+
<% if allow_answers? %>
|
22
|
+
<% if current_user %>
|
23
|
+
<% if questionnaire.answered_by?(current_user) %>
|
24
|
+
<div class="section">
|
25
|
+
<div class="callout success">
|
26
|
+
<h5><%= t(".questionnaire_answered.title") %></h5>
|
27
|
+
<p><%= t(".questionnaire_answered.body") %></p>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
<% else %>
|
31
|
+
<div class="answer-questionnaire">
|
32
|
+
<% unless current_participatory_space.can_participate?(current_user) %>
|
33
|
+
<div class="section">
|
34
|
+
<div class="callout alert">
|
35
|
+
<h5><%= t(".questionnaire_for_private_users.title") %></h5>
|
36
|
+
<p><%= t(".questionnaire_for_private_users.body") %></p>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<% end %>
|
40
|
+
|
41
|
+
<%= decidim_form_for(@form, url: update_url, method: :post, html: { class: "form answer-questionnaire" }) do |form| %>
|
42
|
+
<% @form.answers.each_with_index do |answer, answer_idx| %>
|
43
|
+
<div class="row column">
|
44
|
+
<%= fields_for "questionnaire[answers][#{answer_idx}]", answer do |answer_form| %>
|
45
|
+
<%= render "decidim/forms/questionnaires/answer", answer_form: answer_form, answer: answer, answer_idx: answer_idx, disabled: !current_participatory_space.can_participate?(current_user) %>
|
46
|
+
<% end %>
|
47
|
+
</div>
|
48
|
+
<% end %>
|
49
|
+
|
50
|
+
<div class="row column tos-agreement">
|
51
|
+
<%= form.check_box :tos_agreement, label: t(".tos_agreement"), id: "questionnaire_tos_agreement", disabled: !current_participatory_space.can_participate?(current_user) %>
|
52
|
+
<div class="help-text">
|
53
|
+
<%= decidim_sanitize translated_attribute questionnaire.tos %>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<div class="button--double form-general-submit">
|
58
|
+
<%= form.submit t(".submit"), class: "button", disabled: !current_participatory_space.can_participate?(current_user), data: { confirm: t(".are_you_sure"), disable: true } %>
|
59
|
+
</div>
|
60
|
+
<% end %>
|
61
|
+
</div>
|
62
|
+
<% end %>
|
63
|
+
<% else %>
|
64
|
+
<div class="answer-questionnaire">
|
65
|
+
<h5 class="section-heading"><%= t(".answer_questionnaire.title") %></h5>
|
66
|
+
<p>
|
67
|
+
<%= t(".answer_questionnaire.anonymous_user_message", sign_in_link: decidim.new_user_session_path, sign_up_link: decidim.new_user_registration_path).html_safe %>
|
68
|
+
</p>
|
69
|
+
</div>
|
70
|
+
<% end %>
|
71
|
+
<% else %>
|
72
|
+
<div class="section">
|
73
|
+
<div class="callout warning">
|
74
|
+
<h5><%= t(".questionnaire_closed.title") %></h5>
|
75
|
+
<p><%= t(".questionnaire_closed.body") %></p>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
<% end %>
|
79
|
+
</div>
|
80
|
+
</div>
|
81
|
+
</div>
|
82
|
+
</div>
|
83
|
+
|
84
|
+
<%= javascript_include_tag "decidim/forms/forms" %>
|
@@ -0,0 +1,79 @@
|
|
1
|
+
ca:
|
2
|
+
activemodel:
|
3
|
+
attributes:
|
4
|
+
answer:
|
5
|
+
body: Resposta
|
6
|
+
question:
|
7
|
+
max_choices: Nombre màxim d'opcions
|
8
|
+
question_type: Escriu
|
9
|
+
questionnaire_question:
|
10
|
+
mandatory: Obligatori
|
11
|
+
errors:
|
12
|
+
models:
|
13
|
+
answer:
|
14
|
+
attributes:
|
15
|
+
choices:
|
16
|
+
missing: no estan complerts
|
17
|
+
too_many: n'hi ha massa
|
18
|
+
decidim:
|
19
|
+
forms:
|
20
|
+
admin:
|
21
|
+
models:
|
22
|
+
components:
|
23
|
+
description: Descripció
|
24
|
+
tos: Termes i condicions d'ús
|
25
|
+
questionnaires:
|
26
|
+
answer_option:
|
27
|
+
answer_option: Opció de resposta
|
28
|
+
free_text: Text lliure
|
29
|
+
remove: Elimina
|
30
|
+
statement: Declaració
|
31
|
+
edit:
|
32
|
+
save: Desar
|
33
|
+
title: Títol
|
34
|
+
form:
|
35
|
+
add_question: Afegeix una pregunta
|
36
|
+
already_answered_warning: No pots modificar les pregunte d'aquest qüestionari perquè ja ha estat contestat per alguns usuaris.
|
37
|
+
question:
|
38
|
+
add_answer_option: Afegeix una opció de resposta
|
39
|
+
any: Cap
|
40
|
+
description: Descripció
|
41
|
+
down: Baixar
|
42
|
+
question: Pregunta
|
43
|
+
remove: Eliminar
|
44
|
+
statement: Declaració
|
45
|
+
up: Pujar
|
46
|
+
update:
|
47
|
+
invalid: S'han produït alguns errors en desar el qüestionari.
|
48
|
+
success: Els qüestionaris s'han desat correctament.
|
49
|
+
errors:
|
50
|
+
answer:
|
51
|
+
body: El camp no pot estar en blanc
|
52
|
+
question_types:
|
53
|
+
long_answer: Resposta llarga
|
54
|
+
multiple_option: Opció múltiple
|
55
|
+
short_answer: Resposta curta
|
56
|
+
single_option: Opció única
|
57
|
+
sorting: Ordenació
|
58
|
+
questionnaires:
|
59
|
+
answer:
|
60
|
+
invalid: S'han produït errors en respondre el qüestionari.
|
61
|
+
success: El qüestionari ha estat respost amb èxit.
|
62
|
+
question:
|
63
|
+
max_choices: 'Opcions màximes: %{n}'
|
64
|
+
show:
|
65
|
+
answer_questionnaire:
|
66
|
+
anonymous_user_message: <a href="%{sign_in_link}">Inicia sessió amb el teu compte</a> o <a href="%{sign_up_link}">registra't</a> per respondre el qüestionari.
|
67
|
+
title: Respon el qüestionari
|
68
|
+
are_you_sure: Aquesta acció no es pot desfer i no podràs editar les teves respostes. Estàs segur?
|
69
|
+
questionnaire_answered:
|
70
|
+
body: Ja has respost a aquest qüestionari.
|
71
|
+
title: Ja has respost
|
72
|
+
questionnaire_closed:
|
73
|
+
body: El qüestionari està tancat i no es pot respondre.
|
74
|
+
title: S'ha tancat el qüestionari
|
75
|
+
questionnaire_for_private_users:
|
76
|
+
body: El qüestionari només està disponible per a usuaris privats
|
77
|
+
title: S'ha tancat el qüestionari
|
78
|
+
submit: Enviar respostes
|
79
|
+
tos_agreement: En participar, acceptes els Termes i condicions d'ús
|
@@ -0,0 +1,79 @@
|
|
1
|
+
de:
|
2
|
+
activemodel:
|
3
|
+
attributes:
|
4
|
+
answer:
|
5
|
+
body: Antworten
|
6
|
+
question:
|
7
|
+
max_choices: Maximale Anzahl von Auswahlmöglichkeiten
|
8
|
+
question_type: Art
|
9
|
+
questionnaire_question:
|
10
|
+
mandatory: Verpflichtend
|
11
|
+
errors:
|
12
|
+
models:
|
13
|
+
answer:
|
14
|
+
attributes:
|
15
|
+
choices:
|
16
|
+
missing: sind nicht vollständig
|
17
|
+
too_many: sind zu viele
|
18
|
+
decidim:
|
19
|
+
forms:
|
20
|
+
admin:
|
21
|
+
models:
|
22
|
+
components:
|
23
|
+
description: Beschreibung
|
24
|
+
tos: Nutzungsbedingungen
|
25
|
+
questionnaires:
|
26
|
+
answer_option:
|
27
|
+
answer_option: Antwortoption
|
28
|
+
free_text: Freier Text
|
29
|
+
remove: Löschen
|
30
|
+
statement: Aussage
|
31
|
+
edit:
|
32
|
+
save: sparen
|
33
|
+
title: Titel
|
34
|
+
form:
|
35
|
+
add_question: Frage hinzufügen
|
36
|
+
already_answered_warning: Der Fragebogen wird bereits von einigen Benutzern beantwortet, sodass Sie die Fragen nicht ändern können.
|
37
|
+
question:
|
38
|
+
add_answer_option: Antwortoption hinzufügen
|
39
|
+
any: Irgendein
|
40
|
+
description: Beschreibung
|
41
|
+
down: Nieder
|
42
|
+
question: Frage
|
43
|
+
remove: Löschen
|
44
|
+
statement: Aussage
|
45
|
+
up: Oben
|
46
|
+
update:
|
47
|
+
invalid: Beim Speichern des Fragebogens sind Fehler aufgetreten.
|
48
|
+
success: Fragebögen wurden erfolgreich gespeichert.
|
49
|
+
errors:
|
50
|
+
answer:
|
51
|
+
body: Körper kann nicht leer sein
|
52
|
+
question_types:
|
53
|
+
long_answer: Lange Antwort
|
54
|
+
multiple_option: Mehrfachoption
|
55
|
+
short_answer: Kurze Antwort
|
56
|
+
single_option: Einzelne Option
|
57
|
+
sorting: Sortierung
|
58
|
+
questionnaires:
|
59
|
+
answer:
|
60
|
+
invalid: Bei der Beantwortung des Fragebogens sind Fehler aufgetreten.
|
61
|
+
success: Fragebogen erfolgreich beantwortet.
|
62
|
+
question:
|
63
|
+
max_choices: 'Max Auswahlmöglichkeiten: %{n}'
|
64
|
+
show:
|
65
|
+
answer_questionnaire:
|
66
|
+
anonymous_user_message: <a href="%{sign_in_link}">Melden Sie sich mit Ihrem Konto an</a> oder <a href="%{sign_up_link}">Melden Sie sich an</a> , um den Fragebogen zu beantworten.
|
67
|
+
title: Beantworten Sie den Fragebogen
|
68
|
+
are_you_sure: Diese Aktion kann nicht rückgängig gemacht werden und Sie können Ihre Antworten nicht bearbeiten. Bist du sicher?
|
69
|
+
questionnaire_answered:
|
70
|
+
body: Sie haben diesen Fragebogen bereits beantwortet.
|
71
|
+
title: Schon beantwortet
|
72
|
+
questionnaire_closed:
|
73
|
+
body: Der Fragebogen ist geschlossen und kann nicht beantwortet werden.
|
74
|
+
title: Fragebogen geschlossen
|
75
|
+
questionnaire_for_private_users:
|
76
|
+
body: Der Fragebogen ist nur für Privatanwender verfügbar
|
77
|
+
title: Fragebogen geschlossen
|
78
|
+
submit: einreichen
|
79
|
+
tos_agreement: Mit der Teilnahme stimmen Sie den Nutzungsbedingungen zu
|
@@ -0,0 +1,79 @@
|
|
1
|
+
en:
|
2
|
+
activemodel:
|
3
|
+
attributes:
|
4
|
+
answer:
|
5
|
+
body: Answer
|
6
|
+
question:
|
7
|
+
max_choices: Maximum number of choices
|
8
|
+
question_type: Type
|
9
|
+
questionnaire_question:
|
10
|
+
mandatory: Mandatory
|
11
|
+
errors:
|
12
|
+
models:
|
13
|
+
answer:
|
14
|
+
attributes:
|
15
|
+
choices:
|
16
|
+
missing: are not complete
|
17
|
+
too_many: are too many
|
18
|
+
decidim:
|
19
|
+
forms:
|
20
|
+
admin:
|
21
|
+
models:
|
22
|
+
components:
|
23
|
+
description: Description
|
24
|
+
tos: Terms of service
|
25
|
+
questionnaires:
|
26
|
+
answer_option:
|
27
|
+
answer_option: Answer option
|
28
|
+
free_text: Free text
|
29
|
+
remove: Remove
|
30
|
+
statement: Statement
|
31
|
+
edit:
|
32
|
+
save: Save
|
33
|
+
title: Title
|
34
|
+
form:
|
35
|
+
add_question: Add question
|
36
|
+
already_answered_warning: The questionnaire is already answered by some users so you cannot modify its questions.
|
37
|
+
question:
|
38
|
+
add_answer_option: Add answer option
|
39
|
+
any: Any
|
40
|
+
description: Description
|
41
|
+
down: Down
|
42
|
+
question: Question
|
43
|
+
remove: Remove
|
44
|
+
statement: Statement
|
45
|
+
up: Up
|
46
|
+
update:
|
47
|
+
invalid: There's been errors when saving the questionnaire.
|
48
|
+
success: Questionnaires saved successfully.
|
49
|
+
errors:
|
50
|
+
answer:
|
51
|
+
body: Body can't be blank
|
52
|
+
question_types:
|
53
|
+
long_answer: Long answer
|
54
|
+
multiple_option: Multiple option
|
55
|
+
short_answer: Short answer
|
56
|
+
single_option: Single option
|
57
|
+
sorting: Sorting
|
58
|
+
questionnaires:
|
59
|
+
answer:
|
60
|
+
invalid: There's been errors when answering the questionnaire.
|
61
|
+
success: Questionnaire answered successfully.
|
62
|
+
question:
|
63
|
+
max_choices: 'Max choices: %{n}'
|
64
|
+
show:
|
65
|
+
answer_questionnaire:
|
66
|
+
anonymous_user_message: <a href="%{sign_in_link}">Sign in with your account</a> or <a href="%{sign_up_link}">sign up</a> to answer the questionnaire.
|
67
|
+
title: Answer the questionnaire
|
68
|
+
are_you_sure: This action cannot be undone and you will not be able to edit your answers. Are you sure?
|
69
|
+
questionnaire_answered:
|
70
|
+
body: You have already answered this questionnaire.
|
71
|
+
title: Already answered
|
72
|
+
questionnaire_closed:
|
73
|
+
body: The questionnaire is closed and cannot be answered.
|
74
|
+
title: Questionnaire closed
|
75
|
+
questionnaire_for_private_users:
|
76
|
+
body: The questionnaire is available only for private users
|
77
|
+
title: Questionnaire closed
|
78
|
+
submit: Submit
|
79
|
+
tos_agreement: By participating you accept its Terms of Service
|
@@ -0,0 +1,79 @@
|
|
1
|
+
es-PY:
|
2
|
+
activemodel:
|
3
|
+
attributes:
|
4
|
+
answer:
|
5
|
+
body: Responder
|
6
|
+
question:
|
7
|
+
max_choices: Número máximo de opciones
|
8
|
+
question_type: Tipo
|
9
|
+
questionnaire_question:
|
10
|
+
mandatory: Obligatorio
|
11
|
+
errors:
|
12
|
+
models:
|
13
|
+
answer:
|
14
|
+
attributes:
|
15
|
+
choices:
|
16
|
+
missing: no están completos
|
17
|
+
too_many: son demasiados
|
18
|
+
decidim:
|
19
|
+
forms:
|
20
|
+
admin:
|
21
|
+
models:
|
22
|
+
components:
|
23
|
+
description: Descripción
|
24
|
+
tos: Términos y condiciones de uso
|
25
|
+
questionnaires:
|
26
|
+
answer_option:
|
27
|
+
answer_option: Opción de respuesta
|
28
|
+
free_text: Texto libre
|
29
|
+
remove: Retirar
|
30
|
+
statement: Declaración
|
31
|
+
edit:
|
32
|
+
save: Guardar
|
33
|
+
title: Título
|
34
|
+
form:
|
35
|
+
add_question: Añadir pregunta
|
36
|
+
already_answered_warning: Algunos usuarios ya han respondido al cuestionario, por lo que no puedes modificar las preguntas.
|
37
|
+
question:
|
38
|
+
add_answer_option: Añadir opción de respuesta
|
39
|
+
any: Alguna
|
40
|
+
description: Descripción
|
41
|
+
down: Abajo
|
42
|
+
question: Pregunta
|
43
|
+
remove: Borrar
|
44
|
+
statement: Declaración
|
45
|
+
up: Arriba
|
46
|
+
update:
|
47
|
+
invalid: Ha habido errores al guardar el cuestionario.
|
48
|
+
success: Cuestionarios guardados con éxito.
|
49
|
+
errors:
|
50
|
+
answer:
|
51
|
+
body: El campo no puede estar en blanco
|
52
|
+
question_types:
|
53
|
+
long_answer: Respuesta larga
|
54
|
+
multiple_option: Opción múltiple
|
55
|
+
short_answer: Respuesta corta
|
56
|
+
single_option: Opción única
|
57
|
+
sorting: Ordenación
|
58
|
+
questionnaires:
|
59
|
+
answer:
|
60
|
+
invalid: Ha habido errores al responder al cuestionario.
|
61
|
+
success: Has respondido al cuestionario con éxito.
|
62
|
+
question:
|
63
|
+
max_choices: 'Opciones máximas: %{n}'
|
64
|
+
show:
|
65
|
+
answer_questionnaire:
|
66
|
+
anonymous_user_message: <a href="%{sign_in_link}">Inicia sesión con tu cuenta</a> o <a href="%{sign_up_link}">regístrese</a> para responder al cuestionario.
|
67
|
+
title: Responde al cuestionario
|
68
|
+
are_you_sure: Esta acción no se puede deshacer y no podrás editar tus respuestas. ¿Estás seguro?
|
69
|
+
questionnaire_answered:
|
70
|
+
body: Ya has respondido este cuestionario.
|
71
|
+
title: Ya has respondido
|
72
|
+
questionnaire_closed:
|
73
|
+
body: El cuestionario está cerrado y ya no puedes responder.
|
74
|
+
title: Cuestionario cerrado
|
75
|
+
questionnaire_for_private_users:
|
76
|
+
body: El cuestionario está disponible solo para usuarios privados
|
77
|
+
title: Cuestionario cerrado
|
78
|
+
submit: Enviar
|
79
|
+
tos_agreement: Al responder aceptas los Términos y condiciones de uso
|