decidim-forms 0.24.0 → 0.25.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/cells/decidim/forms/step_navigation/show.erb +1 -1
- data/app/commands/decidim/forms/admin/update_questionnaire.rb +3 -2
- data/app/forms/decidim/forms/admin/question_form.rb +14 -0
- data/app/forms/decidim/forms/admin/question_matrix_row_form.rb +2 -2
- data/app/forms/decidim/forms/questionnaire_form.rb +1 -0
- data/app/helpers/decidim/forms/application_helper.rb +1 -0
- data/app/jobs/decidim/forms/export_questionnaire_answers_job.rb +1 -1
- data/app/models/decidim/forms/question.rb +4 -0
- data/app/models/decidim/forms/question_matrix_row.rb +3 -0
- data/app/packs/entrypoints/decidim_forms.js +4 -0
- data/app/packs/entrypoints/decidim_forms_admin.js +4 -0
- data/app/packs/entrypoints/decidim_questionnaire_answers_pdf.js +1 -0
- data/app/packs/entrypoints/decidim_questionnaire_answers_pdf.scss +1 -0
- data/app/{assets/images/decidim/surveys/icon.svg → packs/images/decidim/surveys/decidim_surveys.svg} +0 -0
- data/app/packs/src/decidim/forms/admin/auto_buttons_by_min_items.component.js +20 -0
- data/app/packs/src/decidim/forms/admin/auto_select_options_by_total_items.component.js +18 -0
- data/app/packs/src/decidim/forms/admin/auto_select_options_from_url.component.js +35 -0
- data/app/{assets/javascripts/decidim/forms/admin/collapsible_questions.js.es6 → packs/src/decidim/forms/admin/collapsible_questions.js} +0 -0
- data/app/{assets/javascripts/decidim/forms/admin/forms.js.es6 → packs/src/decidim/forms/admin/forms.js} +16 -12
- data/app/packs/src/decidim/forms/admin/live_text_update.component.js +49 -0
- data/app/packs/src/decidim/forms/autosortable_checkboxes.component.js +83 -0
- data/app/packs/src/decidim/forms/display_conditions.component.js +200 -0
- data/app/{assets/javascripts/decidim/forms/forms.js.es6 → packs/src/decidim/forms/forms.js} +7 -7
- data/app/packs/src/decidim/forms/max_choices_alert.component.js +43 -0
- data/app/packs/src/decidim/forms/option_attached_inputs.component.js +31 -0
- data/app/{assets → packs}/stylesheets/decidim/forms/forms.scss +5 -0
- data/app/{assets → packs}/stylesheets/decidim/forms/questionnaire-answers-pdf.scss +0 -0
- data/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb +2 -2
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +5 -3
- data/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb +1 -0
- data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/show.html.erb +7 -1
- data/app/views/layouts/decidim/forms/admin/questionnaires/questionnaire_answers.html.erb +1 -1
- data/config/assets.rb +10 -0
- data/config/locales/fr-LU.yml +178 -0
- data/config/locales/hu.yml +2 -0
- data/config/locales/it.yml +7 -0
- data/config/locales/ja.yml +8 -0
- data/config/locales/lb-LU.yml +1 -0
- data/config/locales/pl.yml +2 -2
- data/config/locales/pt-BR.yml +93 -0
- data/config/locales/sv.yml +9 -0
- data/db/migrate/20170515144119_create_decidim_forms_answers.rb +1 -2
- data/db/migrate/20210616153042_set_position_to_question_matrix_rows.rb +11 -0
- data/lib/decidim/forms/admin_engine.rb +0 -4
- data/lib/decidim/forms/engine.rb +2 -4
- data/lib/decidim/forms/test/factories.rb +39 -2
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +2 -0
- data/lib/decidim/forms/user_answers_serializer.rb +3 -0
- data/lib/decidim/forms/version.rb +1 -1
- metadata +35 -32
- data/app/assets/config/admin/decidim_forms_manifest.css +0 -3
- data/app/assets/config/admin/decidim_forms_manifest.js +0 -2
- data/app/assets/config/decidim_forms_manifest.css +0 -4
- data/app/assets/config/decidim_forms_manifest.js +0 -1
- data/app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6 +0 -25
- data/app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6 +0 -23
- data/app/assets/javascripts/decidim/forms/admin/auto_select_options_from_url.component.js.es6 +0 -40
- data/app/assets/javascripts/decidim/forms/admin/live_text_update.component.js.es6 +0 -52
- data/app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6 +0 -85
- data/app/assets/javascripts/decidim/forms/display_conditions.component.js.es6 +0 -203
- data/app/assets/javascripts/decidim/forms/max_choices_alert.component.js.es6 +0 -44
- data/app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6 +0 -32
- data/config/locales/ja-JP.yml +0 -170
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
// = require ./autosortable_checkboxes.component
|
|
3
|
-
// = require ./display_conditions.component
|
|
4
|
-
// = require ./max_choices_alert.component
|
|
1
|
+
/* eslint-disable require-jsdoc */
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import createOptionAttachedInputs from "src/decidim/forms/option_attached_inputs.component"
|
|
4
|
+
import createAutosortableCheckboxes from "src/decidim/forms/autosortable_checkboxes.component"
|
|
5
|
+
import createDisplayConditions from "src/decidim/forms/display_conditions.component"
|
|
6
|
+
import createMaxChoicesAlertComponent from "src/decidim/forms/max_choices_alert.component"
|
|
8
7
|
|
|
8
|
+
$(() => {
|
|
9
9
|
$(".radio-button-collection, .check-box-collection").each((idx, el) => {
|
|
10
10
|
createOptionAttachedInputs({
|
|
11
11
|
wrapperField: $(el),
|
|
@@ -65,4 +65,4 @@
|
|
|
65
65
|
event.returnValue = true;
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
})
|
|
68
|
+
})
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc */
|
|
2
|
+
|
|
3
|
+
class MaxChoicesAlertComponent {
|
|
4
|
+
constructor(options = {}) {
|
|
5
|
+
this.wrapperField = options.wrapperField;
|
|
6
|
+
this.alertElement = options.alertElement;
|
|
7
|
+
this.controllerFieldSelector = options.controllerFieldSelector;
|
|
8
|
+
this.controllerCollectionSelector = options.controllerCollectionSelector;
|
|
9
|
+
this.maxChoices = options.maxChoices;
|
|
10
|
+
this.controllerSelector = this.wrapperField.find(this.controllerFieldSelector);
|
|
11
|
+
this._bindEvent();
|
|
12
|
+
this._run();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
_run() {
|
|
16
|
+
const rows = this.wrapperField.find(this.controllerCollectionSelector);
|
|
17
|
+
|
|
18
|
+
let alert = false;
|
|
19
|
+
|
|
20
|
+
rows.each((rowIdx, row) => {
|
|
21
|
+
const checked = $(row).find(this.controllerFieldSelector).filter((checkboxIdx, checkbox) => $(checkbox).is(":checked"));
|
|
22
|
+
|
|
23
|
+
alert = alert || checked.length > this.maxChoices;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
if (alert) {
|
|
27
|
+
this.alertElement.show();
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.alertElement.hide();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
_bindEvent() {
|
|
35
|
+
this.controllerSelector.on("change", () => {
|
|
36
|
+
this._run();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default function createMaxChoicesAlertComponent(options) {
|
|
42
|
+
return new MaxChoicesAlertComponent(options);
|
|
43
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc */
|
|
2
|
+
|
|
3
|
+
class OptionAttachedInputsComponent {
|
|
4
|
+
constructor(options = {}) {
|
|
5
|
+
this.wrapperField = options.wrapperField;
|
|
6
|
+
this.controllerFieldSelector = options.controllerFieldSelector;
|
|
7
|
+
this.dependentInputSelector = options.dependentInputSelector;
|
|
8
|
+
this.controllerSelector = this.wrapperField.find(this.controllerFieldSelector);
|
|
9
|
+
this._bindEvent();
|
|
10
|
+
this._run();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
_run() {
|
|
14
|
+
this.controllerSelector.each((idx, el) => {
|
|
15
|
+
const $field = $(el);
|
|
16
|
+
const enabled = $field.is(":checked");
|
|
17
|
+
|
|
18
|
+
$field.parents("div.collection-input").find(this.dependentInputSelector).prop("disabled", !enabled);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_bindEvent() {
|
|
23
|
+
this.controllerSelector.on("change", () => {
|
|
24
|
+
this._run();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default function createOptionAttachedInputs(options) {
|
|
30
|
+
return new OptionAttachedInputsComponent(options);
|
|
31
|
+
}
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.questionnaire-question-matrix{
|
|
40
|
+
display: block;
|
|
41
|
+
overflow-x: auto;
|
|
42
|
+
|
|
40
43
|
.collection-input{
|
|
41
44
|
display: flex;
|
|
42
45
|
align-items: center;
|
|
@@ -74,3 +77,5 @@
|
|
|
74
77
|
border-right: 1px solid #f0f0f0;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
80
|
+
|
|
81
|
+
@import "stylesheets/decidim/forms/questionnaire-answers-pdf";
|
|
File without changes
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
<%=
|
|
45
45
|
form.select(
|
|
46
46
|
:decidim_answer_option_id,
|
|
47
|
-
options_from_collection_for_select(display_condition.answer_options, :id, :translated_body, display_condition.
|
|
47
|
+
options_from_collection_for_select(display_condition.answer_options, :id, :translated_body, selected: display_condition.decidim_answer_option_id),
|
|
48
48
|
{ prompt: t(".select_answer_option"), label: t(".answer_option") },
|
|
49
49
|
disabled: !editable,
|
|
50
|
-
data: { selected: display_condition.
|
|
50
|
+
data: { selected: display_condition.decidim_answer_option_id }
|
|
51
51
|
)
|
|
52
52
|
%>
|
|
53
53
|
</div>
|
|
@@ -105,8 +105,10 @@
|
|
|
105
105
|
<% end %>
|
|
106
106
|
</div>
|
|
107
107
|
|
|
108
|
+
<%= javascript_pack_tag "decidim_forms_admin" %>
|
|
109
|
+
|
|
108
110
|
<% if questionnaire.questions_editable? %>
|
|
109
|
-
|
|
111
|
+
<script>
|
|
112
|
+
window.Decidim.createEditableForm()
|
|
113
|
+
</script>
|
|
110
114
|
<% end %>
|
|
111
|
-
|
|
112
|
-
<%= javascript_include_tag "decidim/forms/admin/collapsible_questions" %>
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
|
|
105
105
|
<div class="questionnaire-question-matrix-rows" data-template="<%= matrix_row_template_selector %>">
|
|
106
106
|
<div class="questionnaire-question-matrix-rows-list">
|
|
107
|
-
<% question.
|
|
107
|
+
<% question.matrix_rows_by_position.each do |matrix_row| %>
|
|
108
108
|
<%= fields_for "questionnaire[questions][#{question.to_param}][matrix_rows][]", matrix_row do |matrix_row_form| %>
|
|
109
109
|
<%= render "decidim/forms/admin/questionnaires/matrix_row", form: matrix_row_form, question: question, editable: editable %>
|
|
110
110
|
<% end %>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</tr>
|
|
9
9
|
</thead>
|
|
10
10
|
<tbody>
|
|
11
|
-
<% answer.question.matrix_rows.each_with_index do |row, row_idx| %>
|
|
11
|
+
<% answer.question.matrix_rows.by_position.each_with_index do |row, row_idx| %>
|
|
12
12
|
<tr class="check-box-collection">
|
|
13
13
|
<td><%= translated_attribute row.body %></td>
|
|
14
14
|
<% answer.question.answer_options.each_with_index do |answer_option, idx| %>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</tr>
|
|
9
9
|
</thead>
|
|
10
10
|
<tbody>
|
|
11
|
-
<% answer.question.matrix_rows.each_with_index do |row, row_idx| %>
|
|
11
|
+
<% answer.question.matrix_rows.by_position.each_with_index do |row, row_idx| %>
|
|
12
12
|
<tr class="radio-button-collection">
|
|
13
13
|
<td><%= translated_attribute row.body %></td>
|
|
14
14
|
<% answer.question.answer_options.each_with_index do |answer_option, idx| %>
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
</div>
|
|
100
100
|
<% end %>
|
|
101
101
|
|
|
102
|
+
<% if show_public_participation? %>
|
|
103
|
+
<div class="row column public-participation">
|
|
104
|
+
<%= cell("decidim/public_participation", form) %>
|
|
105
|
+
</div>
|
|
106
|
+
<% end %>
|
|
107
|
+
|
|
102
108
|
<div class="row column tos-agreement">
|
|
103
109
|
<%= form.check_box :tos_agreement, label: t(".tos_agreement"), id: "questionnaire_tos_agreement", disabled: !current_participatory_space.can_participate?(current_user) %>
|
|
104
110
|
<div class="help-text">
|
|
@@ -144,4 +150,4 @@
|
|
|
144
150
|
</div>
|
|
145
151
|
</div>
|
|
146
152
|
|
|
147
|
-
<%=
|
|
153
|
+
<%= javascript_pack_tag "decidim_forms" %>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width">
|
|
6
|
-
<%=
|
|
6
|
+
<%= wicked_pdf_stylesheet_pack_tag "decidim_questionnaire_answers_pdf" %>
|
|
7
7
|
<title><%= @title %></title>
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
data/config/assets.rb
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
base_path = File.expand_path("..", __dir__)
|
|
4
|
+
|
|
5
|
+
Decidim::Webpacker.register_path("#{base_path}/app/packs")
|
|
6
|
+
Decidim::Webpacker.register_entrypoints(
|
|
7
|
+
decidim_forms: "#{base_path}/app/packs/entrypoints/decidim_forms.js",
|
|
8
|
+
decidim_forms_admin: "#{base_path}/app/packs/entrypoints/decidim_forms_admin.js",
|
|
9
|
+
decidim_questionnaire_answers_pdf: "#{base_path}/app/packs/entrypoints/decidim_questionnaire_answers_pdf.js"
|
|
10
|
+
)
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
fr-LU:
|
|
2
|
+
activemodel:
|
|
3
|
+
attributes:
|
|
4
|
+
answer:
|
|
5
|
+
body: Répondre
|
|
6
|
+
choices: Choix
|
|
7
|
+
selected_choices: Choix sélectionnés
|
|
8
|
+
question:
|
|
9
|
+
max_choices: Nombre maximum de choix
|
|
10
|
+
question_type: Type
|
|
11
|
+
questionnaire_question:
|
|
12
|
+
mandatory: Obligatoire
|
|
13
|
+
max_characters: Limite de caractères (laisser à 0 si aucune limite)
|
|
14
|
+
errors:
|
|
15
|
+
models:
|
|
16
|
+
answer:
|
|
17
|
+
attributes:
|
|
18
|
+
add_documents:
|
|
19
|
+
needs_to_be_reattached: Doit être téléchargé de nouveau
|
|
20
|
+
body:
|
|
21
|
+
too_long: est trop long
|
|
22
|
+
choices:
|
|
23
|
+
missing: ne sont pas complets
|
|
24
|
+
too_many: sont trop nombreux
|
|
25
|
+
questionnaire:
|
|
26
|
+
request_invalid: Il y a eu une erreur lors du traitement de la demande. Veuillez réessayer
|
|
27
|
+
decidim:
|
|
28
|
+
forms:
|
|
29
|
+
admin:
|
|
30
|
+
models:
|
|
31
|
+
components:
|
|
32
|
+
description: La description
|
|
33
|
+
tos: Conditions d'utilisation
|
|
34
|
+
questionnaires:
|
|
35
|
+
actions:
|
|
36
|
+
back: Retour aux questions
|
|
37
|
+
show: Afficher les réponses
|
|
38
|
+
answer_option:
|
|
39
|
+
answer_option: Option de réponse
|
|
40
|
+
free_text: Texte libre
|
|
41
|
+
remove: Retirer
|
|
42
|
+
statement: Déclaration
|
|
43
|
+
answers:
|
|
44
|
+
actions:
|
|
45
|
+
back: Retour aux réponses
|
|
46
|
+
export: Exporter
|
|
47
|
+
show: Afficher les réponses
|
|
48
|
+
empty: Pas encore de réponses
|
|
49
|
+
export:
|
|
50
|
+
answer:
|
|
51
|
+
title: 'Réponse n°%{number}'
|
|
52
|
+
export_response:
|
|
53
|
+
title: réponses_utilisateur_sondage_%{token}
|
|
54
|
+
index:
|
|
55
|
+
title: "%{total} réponses totales"
|
|
56
|
+
show:
|
|
57
|
+
title: 'Réponse n°%{number}'
|
|
58
|
+
display_condition:
|
|
59
|
+
answer_option: Option de réponse
|
|
60
|
+
condition_question: Question
|
|
61
|
+
condition_type: Condition
|
|
62
|
+
condition_types:
|
|
63
|
+
answered: Répondu
|
|
64
|
+
equal: Égale
|
|
65
|
+
match: Inclus le texte
|
|
66
|
+
not_answered: Non répondu
|
|
67
|
+
not_equal: Différent de
|
|
68
|
+
condition_value: Texte comprenant
|
|
69
|
+
display_condition: Condition d'affichage
|
|
70
|
+
mandatory: Cette condition doit toujours être satisfaite indépendamment du statut des autres conditions
|
|
71
|
+
remove: Retirer
|
|
72
|
+
save_warning: N'oubliez pas d'enregistrer le formulaire avant de configurer les conditions d'affichage
|
|
73
|
+
select_answer_option: Sélectionnez l'option de réponse
|
|
74
|
+
select_condition_question: Sélectionnez une question
|
|
75
|
+
select_condition_type: Sélectionnez un type de condition
|
|
76
|
+
edit:
|
|
77
|
+
save: sauvegarder
|
|
78
|
+
title: Modifier le questionnaire
|
|
79
|
+
form:
|
|
80
|
+
add_question: Ajouter une question
|
|
81
|
+
add_separator: Ajouter un séparateur
|
|
82
|
+
already_answered_warning: Certains utilisateurs ont déjà répondu au questionnaire, vous ne pouvez donc pas modifier ses questions.
|
|
83
|
+
collapse: Réduire toutes les questions
|
|
84
|
+
expand: Développer toutes les questions
|
|
85
|
+
preview: Aperçu
|
|
86
|
+
title: Modifier le questionnaire pour %{questionnaire_for}
|
|
87
|
+
unpublished_warning: Le formulaire n'est pas publié. Vous pouvez modifier ses questions, mais cela supprimera les réponses actuelles.
|
|
88
|
+
matrix_row:
|
|
89
|
+
matrix_row: Ligne
|
|
90
|
+
remove: Retirer
|
|
91
|
+
statement: Déclaration
|
|
92
|
+
question:
|
|
93
|
+
add_answer_option: Ajouter une option de réponse
|
|
94
|
+
add_display_condition: Ajouter une condition d'affichage
|
|
95
|
+
add_display_condition_info: Enregistrer le formulaire pour configurer les conditions d'affichage
|
|
96
|
+
add_matrix_row: Ajouter une ligne
|
|
97
|
+
any: Tout
|
|
98
|
+
collapse: Réduire
|
|
99
|
+
description: Description
|
|
100
|
+
down: Descendre
|
|
101
|
+
expand: Déveloper
|
|
102
|
+
question: Question
|
|
103
|
+
remove: Retirer
|
|
104
|
+
statement: Déclaration
|
|
105
|
+
up: Monter
|
|
106
|
+
separator:
|
|
107
|
+
down: Bas
|
|
108
|
+
remove: Retirer
|
|
109
|
+
separator: Séparateur
|
|
110
|
+
up: Haut
|
|
111
|
+
update:
|
|
112
|
+
invalid: Il y a eu des erreurs lors de la sauvegarde du questionnaire.
|
|
113
|
+
success: Le questionnaire a bien été sauvegardé.
|
|
114
|
+
errors:
|
|
115
|
+
answer:
|
|
116
|
+
body: Le corps ne peut pas être vide
|
|
117
|
+
files:
|
|
118
|
+
extension_allowlist: 'Formats acceptés :'
|
|
119
|
+
images:
|
|
120
|
+
dimensions: "%{width} x %{height} px"
|
|
121
|
+
dimensions_info: 'Cette image sera :'
|
|
122
|
+
processors:
|
|
123
|
+
resize_and_pad: Redimensionné et ajustée à
|
|
124
|
+
resize_to_fit: Redimensionnée pour s'adapter
|
|
125
|
+
question_types:
|
|
126
|
+
files: Fichiers
|
|
127
|
+
long_answer: Longue réponse
|
|
128
|
+
matrix_multiple: Matrice (choix multiples)
|
|
129
|
+
matrix_single: Matrice (choix unique)
|
|
130
|
+
multiple_option: Option multiple
|
|
131
|
+
short_answer: Réponse courte
|
|
132
|
+
single_option: Option unique
|
|
133
|
+
sorting: Tri
|
|
134
|
+
questionnaires:
|
|
135
|
+
answer:
|
|
136
|
+
invalid: Il y a eu des erreurs en répondant au questionnaire.
|
|
137
|
+
max_choices_alert: Il y a trop de choix sélectionnés
|
|
138
|
+
success: Questionnaire répondu avec succès.
|
|
139
|
+
question:
|
|
140
|
+
max_choices: 'Choix maximum: %{n}'
|
|
141
|
+
show:
|
|
142
|
+
answer_questionnaire:
|
|
143
|
+
anonymous_user_message: <a href="%{sign_in_link}">Connectez-vous avec votre compte</a> ou <a href="%{sign_up_link}">inscrivez-vous</a> pour répondre au questionnaire.
|
|
144
|
+
title: Répondez au questionnaire
|
|
145
|
+
current_step: Étape %{step}
|
|
146
|
+
of_total_steps: de %{total_steps}
|
|
147
|
+
questionnaire_answered:
|
|
148
|
+
body: Vous avez déjà répondu à ce questionnaire.
|
|
149
|
+
title: Déjà répondu
|
|
150
|
+
questionnaire_closed:
|
|
151
|
+
body: Le questionnaire est fermé et vous ne pouvez pas y répondre.
|
|
152
|
+
title: Questionnaire fermé
|
|
153
|
+
questionnaire_for_private_users:
|
|
154
|
+
body: Le questionnaire est disponible uniquement pour les utilisateurs privés
|
|
155
|
+
title: Questionnaire fermé
|
|
156
|
+
questionnaire_js_disabled:
|
|
157
|
+
body: Certaines des fonctionnalités de ce formulaire seront désactivées. Pour améliorer votre expérience, veuillez activer JavaScript dans votre navigateur.
|
|
158
|
+
title: JavaScript est désactivé
|
|
159
|
+
questionnaire_not_published:
|
|
160
|
+
body: Ce formulaire n'est pas encore publié.
|
|
161
|
+
tos_agreement: En participant, vous acceptez ces conditions d'utilisation
|
|
162
|
+
step_navigation:
|
|
163
|
+
show:
|
|
164
|
+
are_you_sure: Cette action ne peut pas être annulée et vous ne pourrez pas modifier vos réponses. Êtes-vous sûr?
|
|
165
|
+
back: Revenir en arrière
|
|
166
|
+
continue: Continuer
|
|
167
|
+
submit: Soumettre
|
|
168
|
+
user_answers_serializer:
|
|
169
|
+
body: Répondre
|
|
170
|
+
completion: Fin
|
|
171
|
+
created_at: Répondu le
|
|
172
|
+
id: ID de réponse
|
|
173
|
+
ip_hash: Hachage IP
|
|
174
|
+
question: Question
|
|
175
|
+
registered: Enregistré
|
|
176
|
+
session_token: Identifiant de l'utilisateur
|
|
177
|
+
unregistered: Non enregistré
|
|
178
|
+
user_status: Statut de l'utilisateur
|
data/config/locales/hu.yml
CHANGED
data/config/locales/it.yml
CHANGED
|
@@ -10,10 +10,15 @@ it:
|
|
|
10
10
|
question_type: Tipo
|
|
11
11
|
questionnaire_question:
|
|
12
12
|
mandatory: Obbligatorio
|
|
13
|
+
max_characters: Limite di caratteri (lasciare a 0 se nessum limite)
|
|
13
14
|
errors:
|
|
14
15
|
models:
|
|
15
16
|
answer:
|
|
16
17
|
attributes:
|
|
18
|
+
add_documents:
|
|
19
|
+
needs_to_be_reattached: Deve essere allegato nuovamente
|
|
20
|
+
body:
|
|
21
|
+
too_long: è troppo lungo
|
|
17
22
|
choices:
|
|
18
23
|
missing: non sono completi
|
|
19
24
|
too_many: sono troppi
|
|
@@ -78,6 +83,7 @@ it:
|
|
|
78
83
|
collapse: Comprimi tutte le domande
|
|
79
84
|
expand: Espandi tutte le domande
|
|
80
85
|
preview: Anteprima
|
|
86
|
+
title: Modifica formulario per %{questionnaire_for}
|
|
81
87
|
unpublished_warning: Il modulo non è pubblicato. Puoi modificare le sue domande, ma in questo modo cancellerai le risposte correnti.
|
|
82
88
|
matrix_row:
|
|
83
89
|
matrix_row: Riga
|
|
@@ -117,6 +123,7 @@ it:
|
|
|
117
123
|
resize_and_pad: Ridimensionato e spaziato a
|
|
118
124
|
resize_to_fit: Ridimensionato per adattarsi
|
|
119
125
|
question_types:
|
|
126
|
+
files: I file
|
|
120
127
|
long_answer: Risposta lunga
|
|
121
128
|
matrix_multiple: Matrice (opzione multipla)
|
|
122
129
|
matrix_single: Matrice (opzione singola)
|