decidim-forms 0.24.3 → 0.25.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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/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)
|