decidim-forms 0.26.7 → 0.27.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/commands/decidim/forms/admin/update_questionnaire.rb +13 -8
- data/app/commands/decidim/forms/answer_questionnaire.rb +1 -1
- data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +2 -2
- data/app/forms/decidim/forms/admin/display_condition_form.rb +3 -3
- data/app/models/decidim/forms/answer.rb +2 -2
- data/app/models/decidim/forms/display_condition.rb +1 -1
- data/app/models/decidim/forms/questionnaire.rb +7 -0
- data/app/packs/src/decidim/forms/admin/forms.js +0 -3
- data/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +13 -8
- data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +5 -3
- data/app/presenters/decidim/forms/admin_log/questionnaire_presenter.rb +35 -0
- data/app/queries/decidim/forms/questionnaire_participant.rb +1 -1
- data/app/queries/decidim/forms/questionnaire_participants.rb +1 -1
- data/app/queries/decidim/forms/questionnaire_user_answers.rb +1 -1
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/_answer.html.erb +2 -2
- data/app/views/decidim/forms/questionnaires/show.html.erb +5 -3
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +1 -0
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +7 -6
- data/config/locales/cs.yml +6 -5
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +1 -4
- data/config/locales/el.yml +1 -4
- data/config/locales/en.yml +5 -5
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +6 -5
- data/config/locales/es-PY.yml +6 -5
- data/config/locales/es.yml +6 -5
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +21 -39
- data/config/locales/fi-plain.yml +6 -5
- data/config/locales/fi.yml +6 -5
- data/config/locales/fr-CA.yml +3 -5
- data/config/locales/fr.yml +3 -5
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +5 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +4 -0
- data/config/locales/id-ID.yml +1 -0
- data/config/locales/is-IS.yml +2 -1
- data/config/locales/it.yml +1 -4
- data/config/locales/ja.yml +6 -5
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +1 -4
- data/config/locales/lt.yml +1 -188
- data/config/locales/lv.yml +1 -4
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +1 -4
- data/config/locales/no.yml +1 -4
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +5 -9
- data/config/locales/pt-BR.yml +2 -5
- data/config/locales/pt.yml +1 -4
- data/config/locales/ro-RO.yml +1 -6
- data/config/locales/ru.yml +1 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +1 -0
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +1 -4
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +1 -4
- data/config/locales/uk.yml +1 -0
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +1 -4
- data/config/locales/zh-TW.yml +1 -190
- data/lib/decidim/exporters/form_pdf.rb +2 -2
- data/lib/decidim/forms/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
- data/lib/decidim/forms/test/factories.rb +22 -13
- data/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +2 -25
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +2 -2
- data/lib/decidim/forms/user_answers_serializer.rb +2 -2
- data/lib/decidim/forms/version.rb +1 -1
- data/lib/decidim/forms.rb +1 -1
- metadata +14 -19
- data/config/locales/fa-IR.yml +0 -1
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/kaa.yml +0 -1
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b63c51b898c731a6ac659b9160f4b5bf5d2404cea0aec58cb5fdffff1a29a9b0
|
|
4
|
+
data.tar.gz: e4a6cf68a62b0188511ba30c3fceda43c30a93bca8ab4a917edf608b8c531e1a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 305a8eb86bf0c9d3afa0b861174ff41c79519b4f5aadd84975cccfdc9c2fd2fa2c12d1a14159a9b0da674d81233900802d271b38d078956ebd8bdd119287cbb4
|
|
7
|
+
data.tar.gz: ed601e91289f962ac5f647b205dafd86c61429e63b3401d210ccd0c345308bfcfc4f7ab5da761056b7335e66d0b2fe95c62ef4189a0dbf5e38b79d8e446ebab2
|
|
@@ -5,14 +5,15 @@ module Decidim
|
|
|
5
5
|
module Admin
|
|
6
6
|
# This command is executed when the user changes a Questionnaire from the admin
|
|
7
7
|
# panel.
|
|
8
|
-
class UpdateQuestionnaire <
|
|
8
|
+
class UpdateQuestionnaire < Decidim::Command
|
|
9
9
|
# Initializes a UpdateQuestionnaire Command.
|
|
10
10
|
#
|
|
11
11
|
# form - The form from which to get the data.
|
|
12
12
|
# questionnaire - The current instance of the questionnaire to be updated.
|
|
13
|
-
def initialize(form, questionnaire)
|
|
13
|
+
def initialize(form, questionnaire, user)
|
|
14
14
|
@form = form
|
|
15
15
|
@questionnaire = questionnaire
|
|
16
|
+
@user = user
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
# Updates the questionnaire if valid.
|
|
@@ -21,13 +22,17 @@ module Decidim
|
|
|
21
22
|
def call
|
|
22
23
|
return broadcast(:invalid) if @form.invalid?
|
|
23
24
|
|
|
24
|
-
Decidim
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
Decidim.traceability.perform_action!("update",
|
|
26
|
+
@questionnaire,
|
|
27
|
+
@user) do
|
|
28
|
+
Decidim::Forms::Questionnaire.transaction do
|
|
29
|
+
if @questionnaire.questions_editable?
|
|
30
|
+
update_questionnaire_questions
|
|
31
|
+
delete_answers unless @questionnaire.published?
|
|
32
|
+
end
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
update_questionnaire
|
|
35
|
+
end
|
|
31
36
|
end
|
|
32
37
|
|
|
33
38
|
broadcast(:ok)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# This command is executed when the user answers a Questionnaire.
|
|
6
|
-
class AnswerQuestionnaire <
|
|
6
|
+
class AnswerQuestionnaire < Decidim::Command
|
|
7
7
|
include ::Decidim::MultipleAttachmentsMethods
|
|
8
8
|
|
|
9
9
|
# Initializes a AnswerQuestionnaire Command.
|
|
@@ -22,7 +22,7 @@ module Decidim
|
|
|
22
22
|
|
|
23
23
|
if defined? Decidim::Templates::Admin
|
|
24
24
|
include Decidim::Templates::Admin::Concerns::Templatable
|
|
25
|
-
helper Decidim::
|
|
25
|
+
helper Decidim::DatalistSelectHelper
|
|
26
26
|
|
|
27
27
|
def templatable_type
|
|
28
28
|
"Decidim::Forms::Questionnaire"
|
|
@@ -47,7 +47,7 @@ module Decidim
|
|
|
47
47
|
params["published_at"] = Time.current if params.has_key? "save_and_publish"
|
|
48
48
|
@form = form(Admin::QuestionnaireForm).from_params(params)
|
|
49
49
|
|
|
50
|
-
Admin::UpdateQuestionnaire.call(@form, questionnaire) do
|
|
50
|
+
Admin::UpdateQuestionnaire.call(@form, questionnaire, current_user) do
|
|
51
51
|
on(:ok) do
|
|
52
52
|
# i18n-tasks-use t("decidim.forms.admin.questionnaires.update.success")
|
|
53
53
|
flash[:notice] = I18n.t("update.success", scope: i18n_flashes_scope)
|
|
@@ -55,21 +55,21 @@ module Decidim
|
|
|
55
55
|
#
|
|
56
56
|
# Returns a Decidim::Forms::Question
|
|
57
57
|
def question
|
|
58
|
-
@question ||= Question.find_by(id:
|
|
58
|
+
@question ||= Question.find_by(id: decidim_question_id)
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
# Finds the Condition Question from the given decidim_condition_question_id
|
|
62
62
|
#
|
|
63
63
|
# Returns a Decidim::Forms::Question
|
|
64
64
|
def condition_question
|
|
65
|
-
@condition_question ||= Question.find_by(id:
|
|
65
|
+
@condition_question ||= Question.find_by(id: decidim_condition_question_id)
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
# Finds the Answer Option from the given decidim_answer_option_id
|
|
69
69
|
#
|
|
70
70
|
# Returns a Decidim::Forms::AnswerOption
|
|
71
71
|
def answer_option
|
|
72
|
-
@answer_option ||= AnswerOption.find_by(id:
|
|
72
|
+
@answer_option ||= AnswerOption.find_by(id: decidim_answer_option_id)
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
private
|
|
@@ -4,7 +4,7 @@ module Decidim
|
|
|
4
4
|
module Forms
|
|
5
5
|
# The data store for an Answer in the Decidim::Forms
|
|
6
6
|
class Answer < Forms::ApplicationRecord
|
|
7
|
-
include Decidim::
|
|
7
|
+
include Decidim::DownloadYourData
|
|
8
8
|
include Decidim::NewsletterParticipant
|
|
9
9
|
include Decidim::HasAttachments
|
|
10
10
|
|
|
@@ -29,7 +29,7 @@ module Decidim
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def self.export_serializer
|
|
32
|
-
Decidim::Forms::
|
|
32
|
+
Decidim::Forms::DownloadYourDataUserAnswersSerializer
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def self.newsletter_participant_ids(component)
|
|
@@ -33,7 +33,7 @@ module Decidim
|
|
|
33
33
|
when "not_equal"
|
|
34
34
|
answer_form.choices.pluck(:answer_option_id).exclude?(answer_option.id)
|
|
35
35
|
when "match"
|
|
36
|
-
condition_value.values.
|
|
36
|
+
condition_value.values.compact_blank.any? { |value| answer_form_matches?(answer_form, value) }
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
|
|
@@ -7,6 +7,7 @@ module Decidim
|
|
|
7
7
|
include Decidim::Templates::Templatable if defined? Decidim::Templates::Templatable
|
|
8
8
|
include Decidim::Publicable
|
|
9
9
|
include Decidim::TranslatableResource
|
|
10
|
+
include Decidim::Traceable
|
|
10
11
|
|
|
11
12
|
translatable_fields :title, :description, :tos
|
|
12
13
|
belongs_to :questionnaire_for, polymorphic: true
|
|
@@ -16,6 +17,8 @@ module Decidim
|
|
|
16
17
|
|
|
17
18
|
after_initialize :set_default_salt
|
|
18
19
|
|
|
20
|
+
attr_accessor :questionnaire_template_id
|
|
21
|
+
|
|
19
22
|
# Public: returns whether the questionnaire questions can be modified or not.
|
|
20
23
|
def questions_editable?
|
|
21
24
|
has_component = questionnaire_for.respond_to? :component
|
|
@@ -32,6 +35,10 @@ module Decidim
|
|
|
32
35
|
created_at.to_i == updated_at.to_i && questions.empty?
|
|
33
36
|
end
|
|
34
37
|
|
|
38
|
+
def self.log_presenter_class_for(_log)
|
|
39
|
+
Decidim::Forms::AdminLog::QuestionnairePresenter
|
|
40
|
+
end
|
|
41
|
+
|
|
35
42
|
private
|
|
36
43
|
|
|
37
44
|
# salt is used to generate secure hash in anonymous answers
|
|
@@ -11,7 +11,6 @@ import createSortList from "src/decidim/admin/sort_list.component"
|
|
|
11
11
|
import createDynamicFields from "src/decidim/admin/dynamic_fields.component"
|
|
12
12
|
import createFieldDependentInputs from "src/decidim/admin/field_dependent_inputs.component"
|
|
13
13
|
import createQuillEditor from "src/decidim/editor"
|
|
14
|
-
import initLanguageChangeSelect from "src/decidim/admin/choose_language"
|
|
15
14
|
|
|
16
15
|
export default function createEditableForm() {
|
|
17
16
|
const wrapperSelector = ".questionnaire-questions";
|
|
@@ -393,8 +392,6 @@ export default function createEditableForm() {
|
|
|
393
392
|
|
|
394
393
|
autoLabelByPosition.run();
|
|
395
394
|
autoButtonsByPosition.run();
|
|
396
|
-
|
|
397
|
-
initLanguageChangeSelect($field.find("select.language-change").toArray());
|
|
398
395
|
},
|
|
399
396
|
onRemoveField: ($field) => {
|
|
400
397
|
autoLabelByPosition.run();
|
|
@@ -6,10 +6,18 @@ module Decidim
|
|
|
6
6
|
#
|
|
7
7
|
# Presenter for questionnaire answer
|
|
8
8
|
#
|
|
9
|
-
class QuestionnaireAnswerPresenter <
|
|
9
|
+
class QuestionnaireAnswerPresenter < SimpleDelegator
|
|
10
|
+
delegate :content_tag, :safe_join, to: :view_context
|
|
11
|
+
|
|
10
12
|
include Decidim::TranslatableAttributes
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
def answer
|
|
15
|
+
__getobj__.fetch(:answer)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def view_context
|
|
19
|
+
__getobj__.fetch(:view_context, ActionController::Base.new.view_context)
|
|
20
|
+
end
|
|
13
21
|
|
|
14
22
|
def question
|
|
15
23
|
translated_attribute(answer.question.body)
|
|
@@ -46,14 +54,11 @@ module Decidim
|
|
|
46
54
|
# rubocop:disable Style/StringConcatenation
|
|
47
55
|
# Interpolating strings that are `html_safe` is problematic with Rails.
|
|
48
56
|
content_tag :li do
|
|
49
|
-
link_to(attachment.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
I18n.t("download_attachment", scope: "decidim.forms.questionnaire_answer_presenter")
|
|
53
|
-
end + " " + content_tag(:small) do
|
|
57
|
+
link_to(translated_attribute(attachment.title), attachment.url) +
|
|
58
|
+
" " +
|
|
59
|
+
content_tag(:small) do
|
|
54
60
|
"#{attachment.file_type} #{number_to_human_size(attachment.file_size)}"
|
|
55
61
|
end
|
|
56
|
-
end
|
|
57
62
|
end
|
|
58
63
|
# rubocop:enable Style/StringConcatenation
|
|
59
64
|
end
|
|
@@ -6,8 +6,10 @@ module Decidim
|
|
|
6
6
|
#
|
|
7
7
|
# Presenter for questionnaire response
|
|
8
8
|
#
|
|
9
|
-
class QuestionnaireParticipantPresenter <
|
|
10
|
-
|
|
9
|
+
class QuestionnaireParticipantPresenter < SimpleDelegator
|
|
10
|
+
def participant
|
|
11
|
+
__getobj__.fetch(:participant)
|
|
12
|
+
end
|
|
11
13
|
|
|
12
14
|
def session_token
|
|
13
15
|
participant.session_token || "-"
|
|
@@ -28,7 +30,7 @@ module Decidim
|
|
|
28
30
|
end
|
|
29
31
|
|
|
30
32
|
def status
|
|
31
|
-
t(registered? ? "registered" : "unregistered", scope: "decidim.forms.user_answers_serializer")
|
|
33
|
+
I18n.t(registered? ? "registered" : "unregistered", scope: "decidim.forms.user_answers_serializer")
|
|
32
34
|
end
|
|
33
35
|
|
|
34
36
|
def answers
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Decidim
|
|
4
|
+
module Forms
|
|
5
|
+
module AdminLog
|
|
6
|
+
# This class holds the logic to present a `Decidim::Forms::Questionnaire`
|
|
7
|
+
# for the `AdminLog` log.
|
|
8
|
+
#
|
|
9
|
+
# Usage should be automatic and you shouldn't need to call this class
|
|
10
|
+
# directly, but here's an example:
|
|
11
|
+
#
|
|
12
|
+
# action_log = Decidim::ActionLog.last
|
|
13
|
+
# view_helpers # => this comes from the views
|
|
14
|
+
# QuestionnairePresenter.new(action_log, view_helpers).present
|
|
15
|
+
class QuestionnairePresenter < Decidim::Log::BasePresenter
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def action_string
|
|
19
|
+
case action
|
|
20
|
+
when "update"
|
|
21
|
+
"decidim.forms.admin_log.questionnaire.#{action}"
|
|
22
|
+
else
|
|
23
|
+
super
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def i18n_params
|
|
28
|
+
super.merge(
|
|
29
|
+
meeting_name: resource_presenter.try(:present)
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# A class used to collect user answers for a questionnaire
|
|
6
|
-
class QuestionnaireParticipant <
|
|
6
|
+
class QuestionnaireParticipant < Decidim::Query
|
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
|
8
8
|
#
|
|
9
9
|
# questionnaire - a Questionnaire object
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# A class used to collect user answers for a questionnaire
|
|
6
|
-
class QuestionnaireParticipants <
|
|
6
|
+
class QuestionnaireParticipants < Decidim::Query
|
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
|
8
8
|
#
|
|
9
9
|
# questionnaire - a Questionnaire object
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# A class used to collect user answers for a questionnaire
|
|
6
|
-
class QuestionnaireUserAnswers <
|
|
6
|
+
class QuestionnaireUserAnswers < Decidim::Query
|
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
|
8
8
|
#
|
|
9
9
|
# questionnaire - a Questionnaire object
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<%= form.translated :editor, :description, toolbar: :full, lines: 30, label: t("models.components.description", scope: "decidim.forms.admin") %>
|
|
32
32
|
</div>
|
|
33
33
|
<div class="row column">
|
|
34
|
-
<%= form.translated :editor, :tos, toolbar: :
|
|
34
|
+
<%= form.translated :editor, :tos, toolbar: :full, lines: 10, label: t("models.components.tos", scope: "decidim.forms.admin") %>
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<%= label_tag field_id, translated_attribute(answer.question.body), class: "questionnaire-title_and_description" %>
|
|
8
8
|
<% if translated_attribute(answer.question.description).present? %>
|
|
9
9
|
<div class="help-title_and_description ">
|
|
10
|
-
<%=
|
|
10
|
+
<%= decidim_sanitize_editor translated_attribute(answer.question.description) %>
|
|
11
11
|
</div>
|
|
12
12
|
<% end %>
|
|
13
13
|
<%= 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 } %>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
<% if translated_attribute(answer.question.description).present? %>
|
|
24
24
|
<div class="help-text">
|
|
25
|
-
<%=
|
|
25
|
+
<%= decidim_sanitize_editor translated_attribute(answer.question.description) %>
|
|
26
26
|
</div>
|
|
27
27
|
<% end %>
|
|
28
28
|
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
<% columns = allow_answers? && visitor_can_answer? && @form.responses.map(&:question).any?(&:matrix?) ? 9 : 6 %>
|
|
7
7
|
|
|
8
|
-
<%= render partial: "decidim/shared/component_announcement"
|
|
8
|
+
<%= render partial: "decidim/shared/component_announcement" %>
|
|
9
9
|
|
|
10
10
|
<div class="row columns">
|
|
11
11
|
<h2 class="section-heading"><%= translated_attribute questionnaire.title %></h2>
|
|
12
12
|
<div class="row">
|
|
13
13
|
<div class="columns large-<%= columns %> medium-centered lead">
|
|
14
|
-
<%=
|
|
14
|
+
<%= decidim_sanitize_editor translated_attribute questionnaire.description %>
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
@@ -151,4 +151,6 @@
|
|
|
151
151
|
</div>
|
|
152
152
|
</div>
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
<% content_for :js_content do %>
|
|
155
|
+
<%= javascript_pack_tag "decidim_forms" %>
|
|
156
|
+
<% end %>
|
data/config/locales/am-ET.yml
CHANGED
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED
data/config/locales/ca.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
ca:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ ca:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: S'ha produït un error en desar el formulari.
|
|
123
124
|
success: Formulari desat correctament.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} ha actualitzat el qüestionari %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: El camp no pot estar en blanc
|
|
@@ -128,10 +132,9 @@ ca:
|
|
|
128
132
|
extension_allowlist: 'Formats d''arxiu acceptats:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Aquesta imatge medirà:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Aquesta imatge serà redimensionada i ajustada a %{dimensions}.
|
|
137
|
+
resize_to_fit: Aquesta imatge serà redimensionada per ajustar-se a %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Arxius
|
|
137
140
|
long_answer: Resposta llarga
|
|
@@ -142,8 +145,6 @@ ca:
|
|
|
142
145
|
single_option: Opció única
|
|
143
146
|
sorting: Ordenació
|
|
144
147
|
title_and_description: Títol i descripció
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Descarregar l'arxiu adjunt
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: S'han produït un error en respondre el formulari.
|
|
@@ -174,7 +175,7 @@ ca:
|
|
|
174
175
|
tos_agreement: En participar acceptes els Termes i condicions d'ús
|
|
175
176
|
step_navigation:
|
|
176
177
|
show:
|
|
177
|
-
are_you_sure: Aquesta acció no es pot desfer i no podràs editar les teves respostes.
|
|
178
|
+
are_you_sure: Aquesta acció no es pot desfer i no podràs editar les teves respostes. Estàs segura?
|
|
178
179
|
back: Enrere
|
|
179
180
|
continue: Continuar
|
|
180
181
|
submit: Enviar respostes
|
data/config/locales/cs.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
cs:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ cs:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: Při ukládání dotazníku došlo k chybám.
|
|
123
124
|
success: Formulář byl úspěšně uložen.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} aktualizoval dotazník %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: Tělo nemůže být prázdné
|
|
@@ -128,10 +132,9 @@ cs:
|
|
|
128
132
|
extension_allowlist: 'Akceptované formáty:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Tento obrázek bude:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Tento obrázek bude změněn a vyplněn na %{dimensions}.
|
|
137
|
+
resize_to_fit: Tento obrázek bude změněn a vyplněn na %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Soubory
|
|
137
140
|
long_answer: Dlouhá odpověď
|
|
@@ -142,8 +145,6 @@ cs:
|
|
|
142
145
|
single_option: Jedna možnost
|
|
143
146
|
sorting: Třídění
|
|
144
147
|
title_and_description: Název a popis
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Stáhnout přílohu
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: Při odpovědi na dotazník došlo k chybám.
|
data/config/locales/da.yml
CHANGED
data/config/locales/de.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
de:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -128,10 +129,6 @@ de:
|
|
|
128
129
|
extension_allowlist: 'Gültige Formate:'
|
|
129
130
|
images:
|
|
130
131
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Das Bild wird:'
|
|
132
|
-
processors:
|
|
133
|
-
resize_and_pad: in der Größe angepasst und gepolstert zu
|
|
134
|
-
resize_to_fit: in der Größe verändert, damit es passt
|
|
135
132
|
question_types:
|
|
136
133
|
files: Dateien
|
|
137
134
|
long_answer: Lange Antwort
|
data/config/locales/el.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
el:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -69,10 +70,6 @@ el:
|
|
|
69
70
|
extension_allowlist: 'Αποδεκτές μορφές:'
|
|
70
71
|
images:
|
|
71
72
|
dimensions: "Π %{width} x Υ %{height} px"
|
|
72
|
-
dimensions_info: 'Για αυτήν την εικόνα θα:'
|
|
73
|
-
processors:
|
|
74
|
-
resize_and_pad: Αλλάξει το μέγεθος και θα συμπληρωθεί σε
|
|
75
|
-
resize_to_fit: Αλλάξει το μέγεθος για προσαρμογή
|
|
76
73
|
question_types:
|
|
77
74
|
long_answer: Μεγάλη απάντηση
|
|
78
75
|
matrix_multiple: Πίνακας (πολλαπλή επιλογή)
|
data/config/locales/en.yml
CHANGED
|
@@ -122,6 +122,9 @@ en:
|
|
|
122
122
|
update:
|
|
123
123
|
invalid: There was a problem saving the form.
|
|
124
124
|
success: Form successfully saved.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} updated the %{resource_name} questionnaire"
|
|
125
128
|
errors:
|
|
126
129
|
answer:
|
|
127
130
|
body: Body can't be blank
|
|
@@ -129,10 +132,9 @@ en:
|
|
|
129
132
|
extension_allowlist: 'Accepted formats:'
|
|
130
133
|
images:
|
|
131
134
|
dimensions: "%{width} x %{height} px"
|
|
132
|
-
dimensions_info: 'This image will be:'
|
|
133
135
|
processors:
|
|
134
|
-
resize_and_pad:
|
|
135
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: This image will be resized and padded to %{dimensions}.
|
|
137
|
+
resize_to_fit: This image will be resized to fit %{dimensions}.
|
|
136
138
|
question_types:
|
|
137
139
|
files: Files
|
|
138
140
|
long_answer: Long answer
|
|
@@ -143,8 +145,6 @@ en:
|
|
|
143
145
|
single_option: Single option
|
|
144
146
|
sorting: Sorting
|
|
145
147
|
title_and_description: Title and description
|
|
146
|
-
questionnaire_answer_presenter:
|
|
147
|
-
download_attachment: Download attachment
|
|
148
148
|
questionnaires:
|
|
149
149
|
answer:
|
|
150
150
|
invalid: There was a problem answering the form.
|
data/config/locales/eo.yml
CHANGED
data/config/locales/es-MX.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
es-MX:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ es-MX:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: Ha habido errores al guardar el cuestionario.
|
|
123
124
|
success: Formulario guardado correctamente.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} actualizó el cuestionario %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: El campo no puede estar en blanco
|
|
@@ -128,10 +132,9 @@ es-MX:
|
|
|
128
132
|
extension_allowlist: 'Formatos de archivo aceptados:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Esta imagen medirá:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Esta imagen será redimensionada y ajustada a %{dimensions}.
|
|
137
|
+
resize_to_fit: Esta imagen será redimensionada para ajustarse a %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Archivos
|
|
137
140
|
long_answer: Respuesta larga
|
|
@@ -142,8 +145,6 @@ es-MX:
|
|
|
142
145
|
single_option: Opción única
|
|
143
146
|
sorting: Ordenación
|
|
144
147
|
title_and_description: Titulo y descripción
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Descargar el archivo adjunto
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: Ha habido errores al responder al cuestionario.
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
es-PY:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ es-PY:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: Ha habido errores al guardar el cuestionario.
|
|
123
124
|
success: Formulario guardado correctamente.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} actualizó el cuestionario %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: El campo no puede estar en blanco
|
|
@@ -128,10 +132,9 @@ es-PY:
|
|
|
128
132
|
extension_allowlist: 'Formatos de archivo aceptados:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Esta imagen medirá:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Esta imagen será redimensionada y ajustada a %{dimensions}.
|
|
137
|
+
resize_to_fit: Esta imagen será redimensionada para ajustarse a %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Archivos
|
|
137
140
|
long_answer: Respuesta larga
|
|
@@ -142,8 +145,6 @@ es-PY:
|
|
|
142
145
|
single_option: Opción única
|
|
143
146
|
sorting: Ordenación
|
|
144
147
|
title_and_description: Titulo y descripción
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Descargar el archivo adjunto
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: Ha habido errores al responder al cuestionario.
|
data/config/locales/es.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
es:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ es:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: Se ha producido un error al guardar el formulario.
|
|
123
124
|
success: Formulario guardado correctamente.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} actualizó el cuestionario %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: El campo no puede estar en blanco
|
|
@@ -128,10 +132,9 @@ es:
|
|
|
128
132
|
extension_allowlist: 'Formatos de archivo aceptados:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Esta imagen medirá:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Esta imagen será redimensionada y ajustada a %{dimensions}.
|
|
137
|
+
resize_to_fit: Esta imagen será redimensionada para ajustarse a %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Archivos
|
|
137
140
|
long_answer: Respuesta larga
|
|
@@ -142,8 +145,6 @@ es:
|
|
|
142
145
|
single_option: Opción única
|
|
143
146
|
sorting: Ordenación
|
|
144
147
|
title_and_description: Titulo y descripción
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Descargar el archivo adjunto
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: Se ha producido un error al responder el formulario.
|
data/config/locales/et.yml
CHANGED