decidim-forms 0.22.0 → 0.23.0
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/assets/config/admin/decidim_forms_manifest.css +3 -0
- data/app/assets/config/decidim_forms_manifest.css +1 -0
- data/app/assets/javascripts/decidim/forms/admin/auto_select_options_from_url.component.js.es6 +40 -0
- data/app/assets/javascripts/decidim/forms/admin/forms.js.es6 +181 -25
- data/app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6 +54 -34
- data/app/assets/javascripts/decidim/forms/display_conditions.component.js.es6 +204 -0
- data/app/assets/javascripts/decidim/forms/forms.js.es6 +8 -1
- data/app/assets/stylesheets/decidim/forms/questionnaire-answers-pdf.scss +69 -0
- data/app/commands/decidim/forms/admin/update_questionnaire.rb +25 -1
- data/app/commands/decidim/forms/answer_questionnaire.rb +1 -1
- data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +47 -1
- data/app/controllers/decidim/forms/admin/concerns/has_questionnaire_answers.rb +97 -0
- data/app/forms/decidim/forms/admin/display_condition_form.rb +100 -0
- data/app/forms/decidim/forms/admin/question_form.rb +1 -0
- data/app/forms/decidim/forms/answer_form.rb +15 -0
- data/app/helpers/decidim/forms/admin/application_helper.rb +21 -0
- data/app/helpers/decidim/forms/admin/concerns/has_questionnaire_answers_pagination_helper.rb +49 -0
- data/app/helpers/decidim/forms/admin/concerns/has_questionnaire_answers_url_helper.rb +40 -0
- data/app/helpers/decidim/forms/admin/questionnaire_answers_helper.rb +27 -0
- data/app/jobs/decidim/forms/export_questionnaire_answers_job.rb +19 -0
- data/app/models/decidim/forms/answer.rb +0 -3
- data/app/models/decidim/forms/answer_option.rb +14 -0
- data/app/models/decidim/forms/display_condition.rb +51 -0
- data/app/models/decidim/forms/question.rb +34 -0
- data/app/models/decidim/forms/question_matrix_row.rb +3 -0
- data/app/models/decidim/forms/questionnaire.rb +11 -1
- data/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +43 -0
- data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +60 -0
- data/app/presenters/decidim/forms/answer_option_presenter.rb +20 -0
- data/app/presenters/decidim/forms/question_presenter.rb +16 -0
- data/app/queries/decidim/forms/questionnaire_participant.rb +35 -0
- data/app/queries/decidim/forms/questionnaire_participants.rb +43 -0
- data/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb +88 -0
- data/app/views/decidim/forms/admin/questionnaires/_display_condition_template.html.erb +7 -0
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +30 -4
- data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +19 -3
- data/app/views/decidim/forms/admin/questionnaires/answers/export/_answer.html.erb +31 -0
- data/app/views/decidim/forms/admin/questionnaires/answers/export/pdf.html.erb +13 -0
- data/app/views/decidim/forms/admin/questionnaires/answers/index.html.erb +53 -0
- data/app/views/decidim/forms/admin/questionnaires/answers/show.html.erb +48 -0
- data/app/views/decidim/forms/admin/questionnaires/edit.html.erb +9 -5
- data/app/views/decidim/forms/questionnaires/_answer.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/show.html.erb +22 -2
- data/app/views/layouts/decidim/forms/admin/questionnaires/questionnaire_answers.html.erb +12 -0
- data/config/initializers/wicked_pdf.rb +25 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +0 -1
- data/config/locales/bg-BG.yml +0 -2
- data/config/locales/bg.yml +14 -0
- data/config/locales/ca.yml +56 -4
- data/config/locales/cs.yml +54 -2
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +51 -1
- data/config/locales/el.yml +0 -2
- data/config/locales/en.yml +54 -2
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +53 -1
- data/config/locales/es-PY.yml +53 -1
- data/config/locales/es.yml +54 -2
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +0 -1
- data/config/locales/fi-plain.yml +53 -1
- data/config/locales/fi.yml +53 -1
- data/config/locales/fr-CA.yml +54 -2
- data/config/locales/fr.yml +54 -2
- data/config/locales/gl.yml +0 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +0 -2
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/is.yml +1 -0
- data/config/locales/it.yml +53 -1
- data/config/locales/ja-JP.yml +51 -1
- data/config/locales/ja.yml +170 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/{lv-LV.yml → lv.yml} +0 -1
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +59 -7
- data/config/locales/no.yml +47 -2
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +52 -3
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/pt.yml +51 -2
- data/config/locales/ro-RO.yml +51 -2
- data/config/locales/ru.yml +0 -1
- data/config/locales/sk.yml +0 -2
- data/config/locales/sl.yml +7 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sv.yml +51 -2
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +0 -1
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +172 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20200130194123_create_decidim_forms_display_conditions.rb +20 -0
- data/lib/decidim/exporters/form_pdf.rb +33 -0
- data/lib/decidim/exporters/form_pdf_controller_helper.rb +11 -0
- data/lib/decidim/forms.rb +5 -0
- data/lib/decidim/forms/admin_engine.rb +1 -1
- data/lib/decidim/forms/test.rb +6 -0
- data/lib/decidim/forms/test/factories.rb +30 -0
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +619 -38
- data/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +108 -0
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires.rb +21 -894
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_display_conditions.rb +179 -0
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_questions.rb +463 -0
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_display_conditions.rb +93 -0
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +461 -0
- data/lib/decidim/forms/version.rb +1 -1
- metadata +91 -11
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<div class="answer">
|
|
2
|
+
<h2 class="title"><%= t(".title", number: participant_counter + 1) %></h2>
|
|
3
|
+
|
|
4
|
+
<table class="participant-info">
|
|
5
|
+
<thead>
|
|
6
|
+
<tr>
|
|
7
|
+
<th class='token'><%= t("session_token", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
8
|
+
<th><%= t("user_status", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
9
|
+
<th><%= t("ip_hash", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
10
|
+
<th><%= t("completion", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
11
|
+
<th><%= t("created_at", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
12
|
+
</tr>
|
|
13
|
+
</thead>
|
|
14
|
+
<tbody>
|
|
15
|
+
<tr>
|
|
16
|
+
<td><%= participant.session_token %></td>
|
|
17
|
+
<td><%= participant.status %></td>
|
|
18
|
+
<td><%= participant.ip_hash %></td>
|
|
19
|
+
<td><%= display_percentage(participant.completion) %></td>
|
|
20
|
+
<td><%= l participant.answered_at, format: :short %></td>
|
|
21
|
+
</tr>
|
|
22
|
+
</tbody>
|
|
23
|
+
</table>
|
|
24
|
+
|
|
25
|
+
<div class="answers">
|
|
26
|
+
<% participant.answers.each do |answer| %>
|
|
27
|
+
<h3 class="question"><%= answer.question %></h3>
|
|
28
|
+
<p><%= answer.body %></p>
|
|
29
|
+
<% end %>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="questionnaire-answers">
|
|
2
|
+
<div class="header">
|
|
3
|
+
<h1><%= translated_attribute(questionnaire.title) %></h1>
|
|
4
|
+
<div class="description">
|
|
5
|
+
<%== translated_attribute(questionnaire.description).html_safe %>
|
|
6
|
+
</div>
|
|
7
|
+
<% if collection.count > 1 %>
|
|
8
|
+
<h2><%= t("title", scope: "decidim.forms.admin.questionnaires.answers.index", total: collection.count) %></h2>
|
|
9
|
+
<% end %>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<%= render partial: "decidim/forms/admin/questionnaires/answers/export/answer", collection: collection, locals: { questionnaire: questionnaire }, as: :participant %>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<div class="card" id="answers">
|
|
2
|
+
<div class="card-divider">
|
|
3
|
+
<h2 class="card-title">
|
|
4
|
+
<%= t ".title", total: @total %>
|
|
5
|
+
<div class="button--title">
|
|
6
|
+
<%= link_to t("actions.back", scope: "decidim.forms.admin.questionnaires"), questionnaire_url, class: "button tiny button--title new" %>
|
|
7
|
+
</div>
|
|
8
|
+
</h2>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="card-section">
|
|
11
|
+
<div class="table-scroll">
|
|
12
|
+
<table class="table-list">
|
|
13
|
+
<thead>
|
|
14
|
+
<tr>
|
|
15
|
+
<th>#</th>
|
|
16
|
+
<th><%= first_table_th(@participants.first) %></th>
|
|
17
|
+
<th><%= t("user_status", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
18
|
+
<th><%= t("ip_hash", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
19
|
+
<th><%= t("completion", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
20
|
+
<th><%= t("created_at", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
21
|
+
<th></th>
|
|
22
|
+
</tr>
|
|
23
|
+
</thead>
|
|
24
|
+
<tbody>
|
|
25
|
+
<% @participants.each_with_index do |participant, idx| %>
|
|
26
|
+
<tr>
|
|
27
|
+
<td><%= idx + 1 + page_offset %></td>
|
|
28
|
+
<td>
|
|
29
|
+
<% if allowed_to? :show, :questionnaire_answers %>
|
|
30
|
+
<%= link_to first_table_td(participant), questionnaire_participant_answers_url(participant.session_token) %>
|
|
31
|
+
<% else %>
|
|
32
|
+
<%= first_table_td(participant) %></td>
|
|
33
|
+
<% end %>
|
|
34
|
+
<td><%= participant.status %></td>
|
|
35
|
+
<td><%= participant.ip_hash %></td>
|
|
36
|
+
<td><%= display_percentage(participant.completion) %></td>
|
|
37
|
+
<td><%= l participant.answered_at, format: :short %></td>
|
|
38
|
+
<td class="table-list__actions">
|
|
39
|
+
<% if allowed_to? :show, :questionnaire_answers %>
|
|
40
|
+
<%= icon_link_to "eye", questionnaire_participant_answers_url(participant.session_token), t("actions.show", scope: "decidim.forms.admin.questionnaires.answers"), class: "action-icon--eye" %>
|
|
41
|
+
<% end %>
|
|
42
|
+
<% if allowed_to? :export_response, :questionnaire_answers %>
|
|
43
|
+
<%= icon_link_to "data-transfer-download", questionnaire_export_response_url(participant.session_token), t("actions.export", scope: "decidim.forms.admin.questionnaires.answers"), class: "action-icon--data-transfer-download" %>
|
|
44
|
+
<% end %>
|
|
45
|
+
</td>
|
|
46
|
+
</tr>
|
|
47
|
+
<% end %>
|
|
48
|
+
</tbody>
|
|
49
|
+
</table>
|
|
50
|
+
<%= paginate @query, theme: "decidim" %>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<div class="card" id="answers">
|
|
2
|
+
<div class="card-divider">
|
|
3
|
+
<h2 class="card-title">
|
|
4
|
+
<%= t ".title", number: current_idx %>
|
|
5
|
+
<div class="button--title">
|
|
6
|
+
<%= link_to_unless last?, t("views.pagination.next").html_safe, next_url, rel: "next", class: "button tiny button--title next" %>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="button--title">
|
|
9
|
+
<%= link_to_unless first?, t("views.pagination.previous").html_safe, prev_url, rel: "prev", class: "button tiny button--title prev" %>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="button--title">
|
|
12
|
+
<%= link_to t("actions.export", scope: "decidim.forms.admin.questionnaires.answers"), questionnaire_export_response_url(@participant.session_token), class: "button tiny button--title export" %>
|
|
13
|
+
<%= link_to t("actions.back", scope: "decidim.forms.admin.questionnaires.answers"), questionnaire_participants_url, class: "button tiny button--title back" %>
|
|
14
|
+
</div>
|
|
15
|
+
</h2>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="card-section">
|
|
18
|
+
<div class="table">
|
|
19
|
+
<table class="table-list">
|
|
20
|
+
<thead>
|
|
21
|
+
<tr>
|
|
22
|
+
<th><%= t("session_token", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
23
|
+
<th><%= t("user_status", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
24
|
+
<th><%= t("ip_hash", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
25
|
+
<th><%= t("completion", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
26
|
+
<th><%= t("created_at", scope: "decidim.forms.user_answers_serializer") %></th>
|
|
27
|
+
<th></th>
|
|
28
|
+
</tr>
|
|
29
|
+
</thead>
|
|
30
|
+
<tbody>
|
|
31
|
+
<tr>
|
|
32
|
+
<td><%= @participant.session_token %></td>
|
|
33
|
+
<td><%= @participant.status %></td>
|
|
34
|
+
<td><%= @participant.ip_hash %></td>
|
|
35
|
+
<td><%= display_percentage(@participant.completion) %></td>
|
|
36
|
+
<td><%= l @participant.answered_at, format: :short %></td>
|
|
37
|
+
</tr>
|
|
38
|
+
</tbody>
|
|
39
|
+
</table>
|
|
40
|
+
</div>
|
|
41
|
+
<dl>
|
|
42
|
+
<% @participant.answers.each do |answer| %>
|
|
43
|
+
<dt><%= answer.question %></dt>
|
|
44
|
+
<dd><%= answer.body %></dd>
|
|
45
|
+
<% end %>
|
|
46
|
+
</dl>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
<%= render partial: "decidim/
|
|
1
|
+
<% if templates_defined? && choose_template? %>
|
|
2
|
+
<%= render partial: "decidim/templates/admin/questionnaire_templates/choose", locals: { target: questionnaire, form_title: t("decidim.forms.admin.questionnaires.edit.title") } %>
|
|
3
|
+
<% else %>
|
|
4
|
+
<%= decidim_form_for(@form, url: update_url, method: :put, html: { class: "form edit_questionnaire" }) do |form| %>
|
|
5
|
+
<%= render partial: "decidim/forms/admin/questionnaires/form", object: form, locals: { title: title_for_questionnaire } %>
|
|
3
6
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
<div class="button--double form-general-submit">
|
|
8
|
+
<%= form.submit t(".save"), class: "button" %>
|
|
9
|
+
</div>
|
|
10
|
+
<% end %>
|
|
7
11
|
<% end %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% field_id = "
|
|
1
|
+
<% field_id = "questionnaire_responses_#{answer_idx}" %>
|
|
2
2
|
|
|
3
3
|
<% if answer.question.separator? %>
|
|
4
4
|
<%= render partial: "decidim/forms/questionnaires/answers/#{answer.question.question_type}", locals: { answer: answer, answer_form: answer_form, answer_idx: answer_idx, field_id: field_id, disabled: disabled } %>
|
|
@@ -20,6 +20,14 @@
|
|
|
20
20
|
<div class="columns large-<%= columns %> medium-centered">
|
|
21
21
|
<div class="card">
|
|
22
22
|
<div class="card__content">
|
|
23
|
+
<% unless questionnaire_for.try(:component)&.try(:published?) %>
|
|
24
|
+
<div class="section">
|
|
25
|
+
<div class="callout warning">
|
|
26
|
+
<p><%= t(".questionnaire_not_published.body") %></p>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<% end %>
|
|
30
|
+
|
|
23
31
|
<% if allow_answers? %>
|
|
24
32
|
<% if visitor_can_answer? %>
|
|
25
33
|
<% if visitor_already_answered? %>
|
|
@@ -31,6 +39,14 @@
|
|
|
31
39
|
</div>
|
|
32
40
|
<% else %>
|
|
33
41
|
<div class="answer-questionnaire">
|
|
42
|
+
<noscript>
|
|
43
|
+
<div class="section">
|
|
44
|
+
<div class="callout warning">
|
|
45
|
+
<h5><%= t(".questionnaire_js_disabled.title") %></h5>
|
|
46
|
+
<p><%= t(".questionnaire_js_disabled.body") %></p>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</noscript>
|
|
34
50
|
<% unless current_participatory_space.can_participate?(current_user) %>
|
|
35
51
|
<div class="section">
|
|
36
52
|
<div class="callout alert">
|
|
@@ -54,7 +70,11 @@
|
|
|
54
70
|
<% end %>
|
|
55
71
|
|
|
56
72
|
<% step_answers.each do |answer| %>
|
|
57
|
-
<div class="row column answer" data-max-choices="<%= answer.question.max_choices %>">
|
|
73
|
+
<div class="row column answer question" data-max-choices="<%= answer.question.max_choices %>" data-conditioned="<%= answer.question.display_conditions.any? %>" data-question-id="<%= answer.question.id %>">
|
|
74
|
+
<% answer.question.display_conditions.each do |display_condition| %>
|
|
75
|
+
<%= content_tag :div, nil, class: "display-condition", data: display_condition.to_html_data %>
|
|
76
|
+
<% end %>
|
|
77
|
+
|
|
58
78
|
<%= fields_for "questionnaire[responses][#{answer_idx}]", answer do |answer_form| %>
|
|
59
79
|
<%= render(
|
|
60
80
|
"decidim/forms/questionnaires/answer",
|
|
@@ -107,7 +127,7 @@
|
|
|
107
127
|
</p>
|
|
108
128
|
|
|
109
129
|
<ol>
|
|
110
|
-
<%= cell("decidim/forms/question_readonly", collection: @questionnaire.questions) %>
|
|
130
|
+
<%= cell("decidim/forms/question_readonly", collection: @questionnaire.questions.not_conditioned) %>
|
|
111
131
|
</ol>
|
|
112
132
|
</div>
|
|
113
133
|
<% end %>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="<%= I18n.locale %>" class="no-js">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width">
|
|
6
|
+
<%= wicked_pdf_stylesheet_link_tag "decidim/forms/questionnaire-answers-pdf" %>
|
|
7
|
+
<title><%= @title %></title>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<%= yield %>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require "wicked_pdf"
|
|
2
|
+
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
|
|
5
|
+
# WickedPDF Global Configuration
|
|
6
|
+
#
|
|
7
|
+
# Use this to set up shared configuration options for your entire application.
|
|
8
|
+
# Any of the configuration options shown here can also be applied to single
|
|
9
|
+
# models by passing arguments to the `render :pdf` call.
|
|
10
|
+
#
|
|
11
|
+
# To learn more, check out the README:
|
|
12
|
+
#
|
|
13
|
+
# https://github.com/mileszs/wicked_pdf/blob/master/README.md
|
|
14
|
+
|
|
15
|
+
WickedPdf.config = {
|
|
16
|
+
# Path to the wkhtmltopdf executable: This usually isn't needed if using
|
|
17
|
+
# one of the wkhtmltopdf-binary family of gems.
|
|
18
|
+
# exe_path: '/usr/local/bin/wkhtmltopdf',
|
|
19
|
+
# or
|
|
20
|
+
exe_path: Gem.bin_path("wkhtmltopdf-binary", "wkhtmltopdf")
|
|
21
|
+
|
|
22
|
+
# Layout file to be used for all PDFs
|
|
23
|
+
# (but can be overridden in `render :pdf` calls)
|
|
24
|
+
# layout: 'pdf.html',
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
am:
|
data/config/locales/ar.yml
CHANGED
data/config/locales/bg-BG.yml
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
bg:
|
|
2
|
+
activemodel:
|
|
3
|
+
attributes:
|
|
4
|
+
answer:
|
|
5
|
+
body: Отговор
|
|
6
|
+
question:
|
|
7
|
+
max_choices: Максимален брой възможности
|
|
8
|
+
question_type: Тип
|
|
9
|
+
decidim:
|
|
10
|
+
forms:
|
|
11
|
+
step_navigation:
|
|
12
|
+
show:
|
|
13
|
+
are_you_sure: Това действие не може да се отмени и Вие не можете да редактирате отговорите си. Сигурни ли сте?
|
|
14
|
+
submit: Изпрати
|
data/config/locales/ca.yml
CHANGED
|
@@ -3,6 +3,8 @@ ca:
|
|
|
3
3
|
attributes:
|
|
4
4
|
answer:
|
|
5
5
|
body: Resposta
|
|
6
|
+
choices: Opcions
|
|
7
|
+
selected_choices: Opcions seleccionades
|
|
6
8
|
question:
|
|
7
9
|
max_choices: Nombre màxim d'opcions
|
|
8
10
|
question_type: Tipus
|
|
@@ -25,11 +27,47 @@ ca:
|
|
|
25
27
|
description: Descripció
|
|
26
28
|
tos: Termes del servei
|
|
27
29
|
questionnaires:
|
|
30
|
+
actions:
|
|
31
|
+
back: Tornar a les preguntes
|
|
32
|
+
show: Mostrar les respostes
|
|
28
33
|
answer_option:
|
|
29
34
|
answer_option: Opció de resposta
|
|
30
35
|
free_text: Text lliure
|
|
31
36
|
remove: Elimina
|
|
32
37
|
statement: Declaració
|
|
38
|
+
answers:
|
|
39
|
+
actions:
|
|
40
|
+
back: Tornar a les respostes
|
|
41
|
+
export: Exportar
|
|
42
|
+
show: Mostrar les respostes
|
|
43
|
+
empty: Encara no hi ha respostes
|
|
44
|
+
export:
|
|
45
|
+
answer:
|
|
46
|
+
title: 'Resposta #%{number}'
|
|
47
|
+
export_response:
|
|
48
|
+
title: survey_user_answers_%{token}
|
|
49
|
+
index:
|
|
50
|
+
title: "%{total} respostes totals"
|
|
51
|
+
show:
|
|
52
|
+
title: 'Resposta #%{number}'
|
|
53
|
+
display_condition:
|
|
54
|
+
answer_option: Opció de resposta
|
|
55
|
+
condition_question: Pregunta
|
|
56
|
+
condition_type: Condició
|
|
57
|
+
condition_types:
|
|
58
|
+
answered: Amb resposta
|
|
59
|
+
equal: Igual a
|
|
60
|
+
match: Inclou text
|
|
61
|
+
not_answered: No resposta
|
|
62
|
+
not_equal: No és igual
|
|
63
|
+
condition_value: Text inclòs
|
|
64
|
+
display_condition: Condicions de visualització
|
|
65
|
+
mandatory: Aquesta condició s'ha de complir sempre independentment de l'estat d'altres condicions
|
|
66
|
+
remove: Eliminar
|
|
67
|
+
save_warning: Recorda de guardar l'enquesta abans de configurar les condicions de visualitzacióó
|
|
68
|
+
select_answer_option: Eliminar l'opció de resposta
|
|
69
|
+
select_condition_question: Seleccionar una pregunta
|
|
70
|
+
select_condition_type: Seleccionar un tipus de condició
|
|
33
71
|
edit:
|
|
34
72
|
save: Desa
|
|
35
73
|
title: Editar el qüestionari
|
|
@@ -39,12 +77,17 @@ ca:
|
|
|
39
77
|
already_answered_warning: No pots modificar les preguntes d'aquest formulari perquè ja ha estat contestat per algunes participants.
|
|
40
78
|
collapse: Redueix totes les preguntes
|
|
41
79
|
expand: Expandeix totes les preguntes
|
|
80
|
+
preview: Previsualitzar
|
|
81
|
+
title: Editar el formulari
|
|
82
|
+
unpublished_warning: El formulari no està publicat. Pots modificar les preguntes, però al fer-ho s'esborraran les respostes actuals.
|
|
42
83
|
matrix_row:
|
|
43
84
|
matrix_row: Fila
|
|
44
85
|
remove: Elimina
|
|
45
86
|
statement: Declaració
|
|
46
87
|
question:
|
|
47
88
|
add_answer_option: Afegeix una opció de resposta
|
|
89
|
+
add_display_condition: Afegir condició de visualització
|
|
90
|
+
add_display_condition_info: Guardar l'enquesta per a configurar les condicions de visualització
|
|
48
91
|
add_matrix_row: Afegir fila
|
|
49
92
|
any: Cap
|
|
50
93
|
collapse: Redueix
|
|
@@ -62,7 +105,7 @@ ca:
|
|
|
62
105
|
up: Pujar
|
|
63
106
|
update:
|
|
64
107
|
invalid: S'ha produït un error en desar el formulari.
|
|
65
|
-
success:
|
|
108
|
+
success: Formulari desat correctament.
|
|
66
109
|
errors:
|
|
67
110
|
answer:
|
|
68
111
|
body: El camp no pot estar en blanc
|
|
@@ -70,7 +113,7 @@ ca:
|
|
|
70
113
|
extension_whitelist: 'Formats d''arxiu acceptats:'
|
|
71
114
|
images:
|
|
72
115
|
dimensions: "%{width} x %{height} px"
|
|
73
|
-
dimensions_info: '
|
|
116
|
+
dimensions_info: 'Aquesta imatge medirà:'
|
|
74
117
|
processors:
|
|
75
118
|
resize_and_pad: Redimensionat i ajustat a
|
|
76
119
|
resize_to_fit: Redimensionada per ajustar-la
|
|
@@ -85,7 +128,7 @@ ca:
|
|
|
85
128
|
questionnaires:
|
|
86
129
|
answer:
|
|
87
130
|
invalid: S'han produït un error en respondre el formulari.
|
|
88
|
-
max_choices_alert: Hi ha
|
|
131
|
+
max_choices_alert: Hi ha massa opcions seleccionades
|
|
89
132
|
success: Has contestat el formulari correctament.
|
|
90
133
|
question:
|
|
91
134
|
max_choices: 'Opcions màximes: %{n}'
|
|
@@ -104,6 +147,11 @@ ca:
|
|
|
104
147
|
questionnaire_for_private_users:
|
|
105
148
|
body: El formulari només està disponible per a participants privades
|
|
106
149
|
title: S'ha tancat el formulari
|
|
150
|
+
questionnaire_js_disabled:
|
|
151
|
+
body: Algunes de les característiques d'aquest formulari es deshabilitaran. Per millorar la teva experiència, si us plau, habilita JavaScript al teu navegador.
|
|
152
|
+
title: JavaScript està desactivat
|
|
153
|
+
questionnaire_not_published:
|
|
154
|
+
body: Aquest formulari no s'ha publicat encara.
|
|
107
155
|
tos_agreement: En participar acceptes els Termes i condicions d'ús
|
|
108
156
|
step_navigation:
|
|
109
157
|
show:
|
|
@@ -112,9 +160,13 @@ ca:
|
|
|
112
160
|
continue: Continuar
|
|
113
161
|
submit: Enviar respostes
|
|
114
162
|
user_answers_serializer:
|
|
163
|
+
body: Resposta
|
|
164
|
+
completion: Finalització
|
|
115
165
|
created_at: Respost el
|
|
116
166
|
id: Identificador de resposta
|
|
117
|
-
ip_hash:
|
|
167
|
+
ip_hash: Hash d'adreça IP
|
|
168
|
+
question: Pregunta
|
|
118
169
|
registered: Registrada
|
|
170
|
+
session_token: Identificador d'usuària
|
|
119
171
|
unregistered: No registrada
|
|
120
172
|
user_status: Estat de l'usuària
|
data/config/locales/cs.yml
CHANGED
|
@@ -3,6 +3,8 @@ cs:
|
|
|
3
3
|
attributes:
|
|
4
4
|
answer:
|
|
5
5
|
body: Odpovědět
|
|
6
|
+
choices: Možnosti
|
|
7
|
+
selected_choices: Vyberte možnosti
|
|
6
8
|
question:
|
|
7
9
|
max_choices: Maximální počet možností
|
|
8
10
|
question_type: Typ
|
|
@@ -25,11 +27,47 @@ cs:
|
|
|
25
27
|
description: Popis
|
|
26
28
|
tos: Podmínky služby
|
|
27
29
|
questionnaires:
|
|
30
|
+
actions:
|
|
31
|
+
back: Zpět na otázky
|
|
32
|
+
show: Zobrazit odpovědi
|
|
28
33
|
answer_option:
|
|
29
34
|
answer_option: Možnost odpovědi
|
|
30
35
|
free_text: Volný text
|
|
31
36
|
remove: Odstranit
|
|
32
37
|
statement: Prohlášení
|
|
38
|
+
answers:
|
|
39
|
+
actions:
|
|
40
|
+
back: Zpět na odpovědi
|
|
41
|
+
export: Export
|
|
42
|
+
show: Zobrazit odpovědi
|
|
43
|
+
empty: Zatím žádné odpovědi
|
|
44
|
+
export:
|
|
45
|
+
answer:
|
|
46
|
+
title: 'Odpověď č.%{number}'
|
|
47
|
+
export_response:
|
|
48
|
+
title: survey_user_answers_%{token}
|
|
49
|
+
index:
|
|
50
|
+
title: "%{total} odpovědí celkem"
|
|
51
|
+
show:
|
|
52
|
+
title: 'Odpověď č.%{number}'
|
|
53
|
+
display_condition:
|
|
54
|
+
answer_option: Možnost odpovědi
|
|
55
|
+
condition_question: Otázka
|
|
56
|
+
condition_type: Podmínka
|
|
57
|
+
condition_types:
|
|
58
|
+
answered: Odpovězeno
|
|
59
|
+
equal: Rovná se
|
|
60
|
+
match: Zahrnuje text
|
|
61
|
+
not_answered: Nezodpovězeno
|
|
62
|
+
not_equal: Není rovno
|
|
63
|
+
condition_value: Zahrnuje text
|
|
64
|
+
display_condition: Stav zobrazení
|
|
65
|
+
mandatory: Tato podmínka musí být splněna vždy bez ohledu na stav ostatních podmínek
|
|
66
|
+
remove: Odebrat
|
|
67
|
+
save_warning: Nezapomeňte uložit formulář před nastavením podmínek zobrazení
|
|
68
|
+
select_answer_option: Vyberte možnost odpovědi
|
|
69
|
+
select_condition_question: Vyberte otázku
|
|
70
|
+
select_condition_type: Vyberte typ podmínky
|
|
33
71
|
edit:
|
|
34
72
|
save: Uložit
|
|
35
73
|
title: Upravit dotazník
|
|
@@ -39,12 +77,17 @@ cs:
|
|
|
39
77
|
already_answered_warning: Dotazník již odpověděli někteří uživatelé, takže nemusíte upravovat své dotazy.
|
|
40
78
|
collapse: Sbalit všechny úlohy
|
|
41
79
|
expand: Rozbalit všechny otázky
|
|
80
|
+
preview: Náhled
|
|
81
|
+
title: Upravit formulář
|
|
82
|
+
unpublished_warning: Formulář není zveřejněn. Můžete změnit jeho otázky, ale tím odstraníte aktuální odpovědi.
|
|
42
83
|
matrix_row:
|
|
43
84
|
matrix_row: Řádek
|
|
44
85
|
remove: Odstranit
|
|
45
86
|
statement: Prohlášení
|
|
46
87
|
question:
|
|
47
88
|
add_answer_option: Přidat možnost odpovědi
|
|
89
|
+
add_display_condition: Přidat podmínku zobrazení
|
|
90
|
+
add_display_condition_info: Uložit formulář pro nastavení podmínek zobrazení
|
|
48
91
|
add_matrix_row: Přidat řádek
|
|
49
92
|
any: Žádný
|
|
50
93
|
collapse: Sbalit
|
|
@@ -62,7 +105,7 @@ cs:
|
|
|
62
105
|
up: Nahoru
|
|
63
106
|
update:
|
|
64
107
|
invalid: Při ukládání dotazníku došlo k chybám.
|
|
65
|
-
success:
|
|
108
|
+
success: Formulář byl úspěšně uložen.
|
|
66
109
|
errors:
|
|
67
110
|
answer:
|
|
68
111
|
body: Tělo nemůže být prázdné
|
|
@@ -104,6 +147,11 @@ cs:
|
|
|
104
147
|
questionnaire_for_private_users:
|
|
105
148
|
body: Dotazník je k dispozici pouze pro soukromé uživatele
|
|
106
149
|
title: Dotazník byl uzavřen
|
|
150
|
+
questionnaire_js_disabled:
|
|
151
|
+
body: Některé funkce tohoto formuláře budou zakázány. Pro zlepšení použití formuláře povolte JavaScript ve vašem prohlížeči.
|
|
152
|
+
title: JavaScript je zakázán
|
|
153
|
+
questionnaire_not_published:
|
|
154
|
+
body: Tento formulář zatím není zveřejněn.
|
|
107
155
|
tos_agreement: Účastí přijímáte jeho smluvní podmínky
|
|
108
156
|
step_navigation:
|
|
109
157
|
show:
|
|
@@ -112,9 +160,13 @@ cs:
|
|
|
112
160
|
continue: Pokračovat
|
|
113
161
|
submit: Odeslat
|
|
114
162
|
user_answers_serializer:
|
|
163
|
+
body: Odpověď
|
|
164
|
+
completion: Ukončení
|
|
115
165
|
created_at: Zodpovězeno
|
|
116
166
|
id: ID odpovědi
|
|
117
|
-
ip_hash:
|
|
167
|
+
ip_hash: IP Hash
|
|
168
|
+
question: Otázka
|
|
118
169
|
registered: Registrován
|
|
170
|
+
session_token: Identifikátor uživatele
|
|
119
171
|
unregistered: Neregistrovaný
|
|
120
172
|
user_status: Stav uživatele
|