decidim-forms 0.22.0 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|