decidim-forms 0.28.4 → 0.29.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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/forms/question_readonly_cell.rb +0 -2
  3. data/app/cells/decidim/forms/step_navigation/show.erb +3 -3
  4. data/app/cells/decidim/forms/step_navigation_cell.rb +2 -3
  5. data/app/commands/decidim/forms/answer_questionnaire.rb +4 -4
  6. data/app/controllers/decidim/forms/concerns/has_questionnaire.rb +1 -1
  7. data/app/forms/decidim/forms/answer_form.rb +2 -2
  8. data/app/forms/decidim/forms/questionnaire_form.rb +1 -1
  9. data/app/helpers/decidim/forms/application_helper.rb +2 -2
  10. data/app/models/decidim/forms/answer_option.rb +1 -1
  11. data/app/models/decidim/forms/display_condition.rb +11 -3
  12. data/app/models/decidim/forms/question_matrix_row.rb +1 -1
  13. data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +7 -7
  14. data/app/views/decidim/forms/admin/questionnaires/_answer_option.html.erb +1 -1
  15. data/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb +2 -2
  16. data/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb +1 -1
  17. data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +4 -4
  18. data/app/views/decidim/forms/admin/questionnaires/_separator.html.erb +4 -4
  19. data/app/views/decidim/forms/admin/questionnaires/_title_and_description.html.erb +4 -4
  20. data/config/initializers/wicked_pdf.rb +5 -5
  21. data/config/locales/ar.yml +0 -1
  22. data/config/locales/bg.yml +1 -2
  23. data/config/locales/ca.yml +1 -1
  24. data/config/locales/cs.yml +0 -1
  25. data/config/locales/de.yml +1 -1
  26. data/config/locales/el.yml +0 -2
  27. data/config/locales/en.yml +2 -2
  28. data/config/locales/es-MX.yml +2 -2
  29. data/config/locales/es-PY.yml +2 -2
  30. data/config/locales/es.yml +2 -2
  31. data/config/locales/eu.yml +1 -1
  32. data/config/locales/fi-plain.yml +1 -1
  33. data/config/locales/fi.yml +2 -2
  34. data/config/locales/fr-CA.yml +1 -1
  35. data/config/locales/fr.yml +1 -1
  36. data/config/locales/gl.yml +0 -1
  37. data/config/locales/hu.yml +3 -4
  38. data/config/locales/id-ID.yml +0 -1
  39. data/config/locales/it.yml +0 -1
  40. data/config/locales/ja.yml +1 -1
  41. data/config/locales/lb.yml +0 -1
  42. data/config/locales/lt.yml +0 -2
  43. data/config/locales/lv.yml +0 -1
  44. data/config/locales/nl.yml +0 -1
  45. data/config/locales/no.yml +0 -1
  46. data/config/locales/pl.yml +1 -1
  47. data/config/locales/pt-BR.yml +0 -1
  48. data/config/locales/pt.yml +0 -1
  49. data/config/locales/ro-RO.yml +0 -2
  50. data/config/locales/sk.yml +0 -1
  51. data/config/locales/sv.yml +29 -47
  52. data/config/locales/tr-TR.yml +0 -1
  53. data/config/locales/zh-CN.yml +0 -1
  54. data/config/locales/zh-TW.yml +0 -2
  55. data/db/migrate/20240402092039_add_answer_options_counter_cache_to_questions.rb +16 -0
  56. data/db/migrate/20240402095253_add_matrix_row_counter_cache_to_questions.rb +16 -0
  57. data/db/migrate/20240416111953_add_display_conditions_counter_cache_to_questions.rb +16 -0
  58. data/db/migrate/20240416113926_add_display_conditions_for_other_questions_counter_cache_to_questions.rb +16 -0
  59. data/decidim-forms.gemspec +1 -1
  60. data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +44 -44
  61. data/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +12 -12
  62. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_display_conditions.rb +10 -10
  63. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_questions.rb +85 -85
  64. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_display_conditions.rb +8 -8
  65. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +82 -82
  66. data/lib/decidim/forms/test/shared_examples/manage_questionnaires.rb +9 -9
  67. data/lib/decidim/forms/version.rb +1 -1
  68. metadata +16 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78fb610d327ebdd4dd064af98eee28fab926fdac096ac98242011035440320e3
4
- data.tar.gz: 8b282a3d7ce3ea8aa4b6c39d8e013497920cc43294ebed53d414bad39b886ffc
3
+ metadata.gz: 2293a9e3534dc50768b5ed1a7ac9e501ec9a531089ac49a33e31cf7c4660d7ed
4
+ data.tar.gz: da021b4ab46c20cdb1aaeaa1f5a8cd1aedd46cd411c22b74b6cfdf72c4440592
5
5
  SHA512:
6
- metadata.gz: 0d1792db94a75a829fa8b1a0227387d618c0e8ee0455803eaa59254f8acb69d4498be66cafb1b8cceaec4bdfc89bc86f1ec06bbadc7abe2bd3112b02797444ca
7
- data.tar.gz: c4d738184d4bfc88a76ee66b07b2b02a6402869ccecde6acbae12cea8e089dcdb08d6e64a711caf3f79b5f7fa2c9804481c5fb070bed30f8425dcdb5f0609f46
6
+ metadata.gz: d72b88bb788cb143ff3c422f0f9df2a1dedeac476b30c0c393d6cee92a0664a48ab1ad4dd0ac55313a5b902c1efaa5f7b8d9a9b4086320aa35a14bb42f6d3344
7
+ data.tar.gz: d2c4966ec421a62dda538e4257934223a1708eb8f7c20b9c31947d5e87f67bf261ca669d7cd0ee790397353017df8c62936fd7a02aef6702f424c3a6a6ea58f5
@@ -4,8 +4,6 @@ module Decidim
4
4
  module Forms
5
5
  # This cell renders a question (readonly) of a questionnaire
6
6
  class QuestionReadonlyCell < Decidim::ViewModel
7
- include Decidim::SanitizeHelper
8
-
9
7
  def show
10
8
  return if model.separator?
11
9
  return render :title_and_description if model.title_and_description?
@@ -1,6 +1,6 @@
1
- <div class="form-general-submit answer-questionnaire__submit">
1
+ <div class="answer-questionnaire__submit layout-aside__ctas-buttons survey-section-buttons" data-sticky-buttons>
2
2
  <% if !first_step? %>
3
- <button type="button" class="button button__sm button__text-secondary" data-toggle="<%= [previous_step_dom_id, current_step_dom_id].join(" ") %>">
3
+ <button type="button" class="button button__sm button__transparent-secondary" data-toggle="<%= [previous_step_dom_id, current_step_dom_id].join(" ") %>" data-survey-buttons>
4
4
  <%= icon "arrow-left-line", class: "fill-current" %>
5
5
  <%= t("decidim.forms.step_navigation.show.back") %>
6
6
  </button>
@@ -14,7 +14,7 @@
14
14
  **confirm_data
15
15
  ) %>
16
16
  <% else %>
17
- <button type="button" class="button button__sm button__secondary" data-toggle="<%= [next_step_dom_id, current_step_dom_id].join(" ") %>">
17
+ <button type="button" class="button button__sm button__secondary" data-toggle="<%= [next_step_dom_id, current_step_dom_id].join(" ") %>" data-survey-buttons>
18
18
  <%= t("decidim.forms.step_navigation.show.continue") %>
19
19
  <%= icon "arrow-right-line", class: "fill-current" %>
20
20
  </button>
@@ -4,8 +4,6 @@ module Decidim
4
4
  module Forms
5
5
  # This cell renders the navigation of a questionnaire step.
6
6
  class StepNavigationCell < Decidim::ViewModel
7
- include Decidim::LayoutHelper
8
-
9
7
  def current_step_index
10
8
  model
11
9
  end
@@ -45,7 +43,8 @@ module Decidim
45
43
  def confirm_data
46
44
  { data: {
47
45
  confirm: t("decidim.forms.step_navigation.show.are_you_sure"),
48
- disable: true
46
+ disable: true,
47
+ data: "survey-buttons"
49
48
  } }
50
49
  end
51
50
  end
@@ -4,15 +4,15 @@ module Decidim
4
4
  module Forms
5
5
  # This command is executed when the user answers a Questionnaire.
6
6
  class AnswerQuestionnaire < Decidim::Command
7
+ delegate :current_user, to: :form
7
8
  include ::Decidim::MultipleAttachmentsMethods
8
9
 
9
10
  # Initializes a AnswerQuestionnaire Command.
10
11
  #
11
12
  # form - The form from which to get the data.
12
13
  # questionnaire - The current instance of the questionnaire to be answered.
13
- def initialize(form, current_user, questionnaire)
14
+ def initialize(form, questionnaire)
14
15
  @form = form
15
- @current_user = current_user
16
16
  @questionnaire = questionnaire
17
17
  end
18
18
 
@@ -34,7 +34,7 @@ module Decidim
34
34
  end
35
35
  end
36
36
 
37
- attr_reader :form, :questionnaire, :current_user
37
+ attr_reader :form, :questionnaire
38
38
 
39
39
  private
40
40
 
@@ -82,7 +82,7 @@ module Decidim
82
82
  Answer.transaction(requires_new: true) do
83
83
  form.responses_by_step.flatten.select(&:display_conditions_fulfilled?).each do |form_answer|
84
84
  answer = Answer.new(
85
- user: @current_user,
85
+ user: current_user,
86
86
  questionnaire: @questionnaire,
87
87
  question: form_answer.question,
88
88
  body: form_answer.body,
@@ -30,7 +30,7 @@ module Decidim
30
30
 
31
31
  @form = form(Decidim::Forms::QuestionnaireForm).from_params(params, session_token:, ip_hash:)
32
32
 
33
- Decidim::Forms::AnswerQuestionnaire.call(@form, current_user, questionnaire) do
33
+ Decidim::Forms::AnswerQuestionnaire.call(@form, questionnaire) do
34
34
  on(:ok) do
35
35
  # i18n-tasks-use t("decidim.forms.questionnaires.answer.success")
36
36
  flash[:notice] = I18n.t("answer.success", scope: i18n_flashes_scope)
@@ -108,9 +108,9 @@ module Decidim
108
108
 
109
109
  def max_choices
110
110
  if matrix?
111
- errors.add(:choices, :too_many) if grouped_choices.any? { |choices| choices.count > question.max_choices }
111
+ errors.add(:choices, :too_many, count: question.max_choices) if grouped_choices.any? { |choices| choices.count > question.max_choices }
112
112
  elsif selected_choices.size > question.max_choices
113
- errors.add(:choices, :too_many)
113
+ errors.add(:choices, :too_many, count: question.max_choices)
114
114
  end
115
115
  end
116
116
 
@@ -33,7 +33,7 @@ module Decidim
33
33
  context.responses = attributes[:responses]
34
34
  end
35
35
 
36
- # Public: Splits reponses by step, keeping the separator.
36
+ # Public: Splits responses by step, keeping the separator.
37
37
  #
38
38
  # Returns an array of steps. Each step is a list of the questions in that
39
39
  # step, including the separator.
@@ -8,11 +8,11 @@ module Decidim
8
8
  def show_represent_user_group?
9
9
  model_name = questionnaire_for.model_name.element
10
10
 
11
- permited_models.include?(model_name)
11
+ permitted_models.include?(model_name)
12
12
  end
13
13
  alias show_public_participation? show_represent_user_group?
14
14
 
15
- def permited_models
15
+ def permitted_models
16
16
  %(meeting)
17
17
  end
18
18
  end
@@ -9,7 +9,7 @@ module Decidim
9
9
 
10
10
  translatable_fields :body
11
11
 
12
- belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id"
12
+ belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id", counter_cache: true
13
13
 
14
14
  has_many :display_conditions,
15
15
  class_name: "DisplayCondition",
@@ -7,16 +7,24 @@ module Decidim
7
7
  # that we want to display or hide based on some conditions, and :condition_question
8
8
  # is the question the answers of which are checked against the conditions.
9
9
  # Conditions can be whether the question is answered ("answered") or it is not ("not_answered"),
10
- # if the selected answer option is ("equal") or is not ("not_equal") a given one, or whethe
10
+ # if the selected answer option is ("equal") or is not ("not_equal") a given one, or whether
11
11
  # the text value of the answer matches a string ("match").
12
12
  class DisplayCondition < Forms::ApplicationRecord
13
13
  enum condition_type: [:answered, :not_answered, :equal, :not_equal, :match], _prefix: true
14
14
 
15
15
  # Question which will be displayed or hidden
16
- belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id", inverse_of: :display_conditions
16
+ belongs_to :question,
17
+ class_name: "Question",
18
+ foreign_key: "decidim_question_id",
19
+ inverse_of: :display_conditions,
20
+ counter_cache: :display_conditions_count
17
21
 
18
22
  # Question the answers of which are checked against conditions
19
- belongs_to :condition_question, class_name: "Question", foreign_key: "decidim_condition_question_id", inverse_of: :display_conditions_for_other_questions
23
+ belongs_to :condition_question,
24
+ class_name: "Question",
25
+ foreign_key: "decidim_condition_question_id",
26
+ inverse_of: :display_conditions_for_other_questions,
27
+ counter_cache: :display_conditions_for_other_questions_count
20
28
 
21
29
  # Answer option provided to check for "equal" or "not_equal" (optional)
22
30
  belongs_to :answer_option, class_name: "AnswerOption", foreign_key: "decidim_answer_option_id", optional: true
@@ -7,7 +7,7 @@ module Decidim
7
7
  include Decidim::TranslatableResource
8
8
 
9
9
  translatable_fields :body
10
- belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id"
10
+ belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id", counter_cache: :matrix_rows_count
11
11
 
12
12
  delegate :answer_options, :mandatory, :max_choices, to: :question
13
13
 
@@ -34,26 +34,26 @@ module Decidim
34
34
  end
35
35
 
36
36
  def answers
37
- sibilings.map { |answer| QuestionnaireAnswerPresenter.new(answer:) }
37
+ siblings.map { |answer| QuestionnaireAnswerPresenter.new(answer:) }
38
38
  end
39
39
 
40
40
  def first_short_answer
41
- short = sibilings.where(decidim_forms_questions: { question_type: %w(short_answer) })
41
+ short = siblings.where(decidim_forms_questions: { question_type: %w(short_answer) })
42
42
  short.first
43
43
  end
44
44
 
45
45
  def completion
46
- with_body = sibilings.where(decidim_forms_questions: { question_type: %w(short_answer long_answer) })
47
- .where.not(body: "").count
48
- with_choices = sibilings.where.not("decidim_forms_questions.question_type in (?)", %w(short_answer long_answer))
49
- .where("decidim_forms_answers.id IN (SELECT decidim_answer_id FROM decidim_forms_answer_choices)").count
46
+ with_body = siblings.where(decidim_forms_questions: { question_type: %w(short_answer long_answer) })
47
+ .where.not(body: "").count
48
+ with_choices = siblings.where.not("decidim_forms_questions.question_type in (?)", %w(short_answer long_answer))
49
+ .where("decidim_forms_answers.id IN (SELECT decidim_answer_id FROM decidim_forms_answer_choices)").count
50
50
 
51
51
  (with_body + with_choices).to_f / questionnaire.questions.not_separator.not_title_and_description.count * 100
52
52
  end
53
53
 
54
54
  private
55
55
 
56
- def sibilings
56
+ def siblings
57
57
  Answer.not_separator
58
58
  .not_title_and_description
59
59
  .where(questionnaire:, session_token: participant.session_token)
@@ -5,7 +5,7 @@
5
5
  <h2 class="card-title">
6
6
  <span><%= t(".answer_option") %></span>
7
7
  <% if editable %>
8
- <button class="button button__sm button__transparent-secondary small alert hollow remove-answer-option button--title mb-2">
8
+ <button class="button button__sm button__transparent-secondary small alert remove-answer-option button--title mb-2">
9
9
  <%= icon("delete-bin-line") %>
10
10
  <%= t(".remove") %>
11
11
  </button>
@@ -5,7 +5,7 @@
5
5
  <h2 class="card-title">
6
6
  <span><%= t(".display_condition") %></span>
7
7
  <% if editable %>
8
- <button class="button button__sm button__transparent-secondary small alert hollow remove-display-condition button--title">
8
+ <button class="button button__sm button__transparent-secondary small alert remove-display-condition button--title">
9
9
  <%= icon("delete-bin-line") %>
10
10
  <%= t(".remove") %>
11
11
  </button>
@@ -14,7 +14,7 @@
14
14
  </div>
15
15
  <div class="card-section">
16
16
  <div class="row column">
17
- <small class="text-muted">
17
+ <small>
18
18
  <%= t(".save_warning") %>
19
19
  </small>
20
20
  </div>
@@ -5,7 +5,7 @@
5
5
  <h2 class="card-title">
6
6
  <span><%= t(".matrix_row") %></span>
7
7
  <% if editable %>
8
- <button class="button button__sm button__transparent-secondary small alert hollow remove-matrix-row button--title mb-2">
8
+ <button class="button button__sm button__transparent-secondary small alert remove-matrix-row button--title mb-2">
9
9
  <%= icon("delete-bin-line") %>
10
10
  <%= t(".remove") %>
11
11
  </button>
@@ -2,7 +2,7 @@
2
2
  <% is_expanded = question.errors.any? %>
3
3
  <div class="card questionnaire-question" id="accordion-<%= id %>-field">
4
4
  <div class="form__wrapper" data-component="accordion">
5
- <div class="card-divider question-divider">
5
+ <div class="card-divider">
6
6
  <h2 class="card-title flex items-center">
7
7
  <span>
8
8
  <% if editable %>
@@ -23,17 +23,17 @@
23
23
  </button>
24
24
 
25
25
  <% if editable %>
26
- <button class="button button__sm button__transparent-secondary small alert hollow move-up-question button--title">
26
+ <button class="button button__sm button__transparent-secondary small alert move-up-question button--title">
27
27
  <%= icon("arrow-up-line") %>
28
28
  <%= t(".up") %>
29
29
  </button>
30
30
 
31
- <button class="button button__sm button__transparent-secondary small alert hollow move-down-question button--title">
31
+ <button class="button button__sm button__transparent-secondary small alert move-down-question button--title">
32
32
  <%= icon("arrow-down-line") %>
33
33
  <%= t(".down") %>
34
34
  </button>
35
35
 
36
- <button class="button button__sm button__transparent-secondary small alert hollow remove-question button--title">
36
+ <button class="button button__sm button__transparent-secondary small alert remove-question button--title">
37
37
  <%= icon("delete-bin-line") %>
38
38
  <%= t(".remove") %>
39
39
  </button>
@@ -1,7 +1,7 @@
1
1
  <% question = form.object %>
2
2
 
3
3
  <div class="card questionnaire-question" id="<%= id %>-field">
4
- <div class="card-divider question-divider">
4
+ <div class="card-divider">
5
5
  <h2 class="card-title flex items-center">
6
6
  <span>
7
7
  <% if editable %>
@@ -12,15 +12,15 @@
12
12
 
13
13
  <div class="flex items-center gap-x-4 ml-auto">
14
14
  <% if editable %>
15
- <button class="button button__sm button__transparent button__transparent-secondary small alert hollow move-up-question button--title">
15
+ <button class="button button__sm button__transparent button__transparent-secondary small alert move-up-question button--title">
16
16
  <%== "#{icon("arrow-up-line")} #{t(".up")}" %>
17
17
  </button>
18
18
 
19
- <button class="button button__sm button__transparent button__transparent-secondary small alert hollow move-down-question button--title">
19
+ <button class="button button__sm button__transparent button__transparent-secondary small alert move-down-question button--title">
20
20
  <%== "#{icon("arrow-down-line")} #{t(".down")}" %>
21
21
  </button>
22
22
 
23
- <button class="button button__sm button__transparent button__transparent-secondary small alert hollow remove-question button--title">
23
+ <button class="button button__sm button__transparent button__transparent-secondary small alert remove-question button--title">
24
24
  <%= t(".remove") %>
25
25
  </button>
26
26
  <% end %>
@@ -3,7 +3,7 @@
3
3
 
4
4
  <div class="card questionnaire-question" id="accordion-<%= id %>-field">
5
5
  <div data-component="accordion">
6
- <div class="card-divider question-divider">
6
+ <div class="card-divider">
7
7
  <h2 class="card-title flex items-center">
8
8
  <span>
9
9
  <% if editable %>
@@ -23,17 +23,17 @@
23
23
  </button>
24
24
 
25
25
  <% if editable %>
26
- <button class="button button__sm button__transparent button__transparent-secondary small alert hollow move-up-question button--title">
26
+ <button class="button button__sm button__transparent button__transparent-secondary small alert move-up-question button--title">
27
27
  <%= icon("arrow-up-line") %>
28
28
  <%= t(".up") %>
29
29
  </button>
30
30
 
31
- <button class="button button__sm button__transparent button__transparent-secondary small alert hollow move-down-question button--title">
31
+ <button class="button button__sm button__transparent button__transparent-secondary small alert move-down-question button--title">
32
32
  <%= icon("arrow-down-line") %>
33
33
  <%= t(".down") %>
34
34
  </button>
35
35
 
36
- <button class="button button__sm button__transparent button__transparent-secondary small alert hollow remove-question button--title">
36
+ <button class="button button__sm button__transparent button__transparent-secondary small alert remove-question button--title">
37
37
  <%= icon("delete-bin-line") %>
38
38
  <%= t(".remove") %>
39
39
  </button>
@@ -14,14 +14,14 @@ require "wicked_pdf"
14
14
  #
15
15
  # https://github.com/mileszs/wicked_pdf/blob/master/README.md
16
16
 
17
- WickedPdf.config = {
17
+ WickedPdf.configure do |config|
18
18
  # Path to the wkhtmltopdf executable: This usually is not needed if using
19
19
  # one of the wkhtmltopdf-binary family of gems.
20
- # exe_path: '/usr/local/bin/wkhtmltopdf',
21
20
  # or
22
- exe_path: Gem.bin_path("wkhtmltopdf-binary", "wkhtmltopdf")
21
+ # config.exe_path = '/usr/local/bin/wkhtmltopdf',
22
+ config.exe_path = Gem.bin_path("wkhtmltopdf-binary", "wkhtmltopdf")
23
23
 
24
24
  # Layout file to be used for all PDFs
25
25
  # (but can be overridden in `render :pdf` calls)
26
- # layout: 'pdf.html',
27
- }
26
+ # config.layout = 'pdf.html'
27
+ end
@@ -16,7 +16,6 @@ ar:
16
16
  attributes:
17
17
  choices:
18
18
  missing: ليست كاملة
19
- too_many: كثير جدا
20
19
  decidim:
21
20
  forms:
22
21
  admin:
@@ -22,7 +22,7 @@ bg:
22
22
  too_long: твърде дълъг
23
23
  choices:
24
24
  missing: не са завършени
25
- too_many: са твърде много
25
+ too_many: Можете да изберете максимум %{count}.
26
26
  questionnaire:
27
27
  request_invalid: Възникна грешка при обработката на заявката. Моля, опитайте отново.
28
28
  decidim:
@@ -158,7 +158,6 @@ bg:
158
158
  answer_questionnaire:
159
159
  already_have_an_account?: Вече имате профил?
160
160
  are_you_new?: Нов потребител?
161
- sign_in_description: Влезте, за да участвате в анкетата
162
161
  sign_up_description: Създайте акаунт на участник, за да участвате в анкетата
163
162
  title: Попълване на отговори във формуляра
164
163
  current_step: Стъпка %{step}
@@ -22,7 +22,7 @@ ca:
22
22
  too_long: és massa llarg
23
23
  choices:
24
24
  missing: no estan complets
25
- too_many: en són masses
25
+ too_many: Pots triar un màxim de %{count} opcions.
26
26
  questionnaire:
27
27
  request_invalid: Hi ha hagut un problema gestionant la petició. Si us plau, torna-ho a provar.
28
28
  decidim:
@@ -22,7 +22,6 @@ cs:
22
22
  too_long: je příliš dlouhý
23
23
  choices:
24
24
  missing: nejsou úplné
25
- too_many: jsou příliš mnoho
26
25
  questionnaire:
27
26
  request_invalid: Při zpracování požadavku došlo k chybě. Zkuste to prosím znovu.
28
27
  decidim:
@@ -22,7 +22,7 @@ de:
22
22
  too_long: ist zu lang
23
23
  choices:
24
24
  missing: sind nicht vollständig
25
- too_many: sind zu viele
25
+ too_many: Sie können ein Maximum von %{count} auswählen.
26
26
  questionnaire:
27
27
  request_invalid: Beim Bearbeiten der Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es nochmal.
28
28
  decidim:
@@ -22,7 +22,6 @@ el:
22
22
  too_long: είναι πολύ μεγάλο
23
23
  choices:
24
24
  missing: δεν έχουν ολοκληρωθεί
25
- too_many: είναι πάρα πολλά
26
25
  questionnaire:
27
26
  request_invalid: Παρουσιάστηκε σφάλμα κατά τον χειρισμό του αιτήματος. Παρακαλώ δοκιμάστε ξανά.
28
27
  decidim:
@@ -158,7 +157,6 @@ el:
158
157
  answer_questionnaire:
159
158
  already_have_an_account?: Έχετε ήδη λογαριασμό;
160
159
  are_you_new?: Νέος χρήστης;
161
- sign_in_description: Συνδεθείτε για να πραγματοποιήσετε την έρευνα
162
160
  sign_up_description: Δημιουργήστε ένα λογαριασμό συμμετέχοντα για να κάνετε την έρευνα
163
161
  title: Απαντήστε στη φόρμα
164
162
  current_step: Βήμα %{step}
@@ -22,7 +22,7 @@ en:
22
22
  too_long: is too long
23
23
  choices:
24
24
  missing: are not complete
25
- too_many: are too many
25
+ too_many: You can choose a maximum of %{count}.
26
26
  questionnaire:
27
27
  request_invalid: There was an error handling the request. Please try again.
28
28
  decidim:
@@ -158,7 +158,7 @@ en:
158
158
  answer_questionnaire:
159
159
  already_have_an_account?: Already have an account?
160
160
  are_you_new?: New user?
161
- sign_in_description: Login to take the survey
161
+ sign_in_description: Log in to take the survey
162
162
  sign_up_description: Create a participant account to take the survey
163
163
  title: Answer the form
164
164
  current_step: Step %{step}
@@ -22,7 +22,7 @@ es-MX:
22
22
  too_long: es demasiado largo
23
23
  choices:
24
24
  missing: no están completos
25
- too_many: son demasiados
25
+ too_many: Puedes elegir un máximo de %{count} opciones.
26
26
  questionnaire:
27
27
  request_invalid: Ha ocurrido un error al enviar tu solicitud. Por favor, Inténtalo de nuevo.
28
28
  decidim:
@@ -158,7 +158,7 @@ es-MX:
158
158
  answer_questionnaire:
159
159
  already_have_an_account?: '¿Ya tienes una cuenta?'
160
160
  are_you_new?: '¿Eres una nueva usuaria?'
161
- sign_in_description: Inicia tu sesión para responder la encuesta
161
+ sign_in_description: Inicia sesión para realizar la encuesta
162
162
  sign_up_description: Crea una cuenta de participante para realizar la encuesta
163
163
  title: Responde al cuestionario
164
164
  current_step: Paso %{step}
@@ -22,7 +22,7 @@ es-PY:
22
22
  too_long: es demasiado largo
23
23
  choices:
24
24
  missing: no están completos
25
- too_many: son demasiados
25
+ too_many: Puedes elegir un máximo de %{count} opciones.
26
26
  questionnaire:
27
27
  request_invalid: Ha ocurrido un error al enviar tu solicitud. Por favor, Inténtalo de nuevo.
28
28
  decidim:
@@ -158,7 +158,7 @@ es-PY:
158
158
  answer_questionnaire:
159
159
  already_have_an_account?: '¿Ya tienes una cuenta?'
160
160
  are_you_new?: '¿Eres una nueva usuaria?'
161
- sign_in_description: Inicia tu sesión para responder la encuesta
161
+ sign_in_description: Inicia sesión para realizar la encuesta
162
162
  sign_up_description: Crea una cuenta de participante para realizar la encuesta
163
163
  title: Responde al cuestionario
164
164
  current_step: Paso %{step}
@@ -22,7 +22,7 @@ es:
22
22
  too_long: es demasiado largo
23
23
  choices:
24
24
  missing: no están completos
25
- too_many: son demasiados
25
+ too_many: Puedes elegir un máximo de %{count} opciones.
26
26
  questionnaire:
27
27
  request_invalid: Ha ocurrido un error al enviar tu solicitud. Por favor, Inténtalo de nuevo.
28
28
  decidim:
@@ -158,7 +158,7 @@ es:
158
158
  answer_questionnaire:
159
159
  already_have_an_account?: '¿Ya tienes una cuenta?'
160
160
  are_you_new?: '¿Eres una nueva usuaria?'
161
- sign_in_description: Inicia tu sesión para responder la encuesta
161
+ sign_in_description: Inicia sesión para realizar la encuesta
162
162
  sign_up_description: Crea una cuenta de participante para realizar la encuesta
163
163
  title: Responde el formulario
164
164
  current_step: Paso %{step}
@@ -22,7 +22,7 @@ eu:
22
22
  too_long: luzeegia da
23
23
  choices:
24
24
  missing: ez dira osatu
25
- too_many: gehiegi dira
25
+ too_many: Gehienez, %{count} aukeratu ahal duzu.
26
26
  questionnaire:
27
27
  request_invalid: Errore bat egon da eskaera bidaltzean. Mesedez, saiatu berriro.
28
28
  decidim:
@@ -22,7 +22,7 @@ fi-pl:
22
22
  too_long: liian pitkä
23
23
  choices:
24
24
  missing: ovat puutteellisia
25
- too_many: liian monta
25
+ too_many: Voit valita enintään %{count} vaihtoehtoa.
26
26
  questionnaire:
27
27
  request_invalid: Pyynnön käsittely ei onnistunut. Yritä uudestaan myöhemmin.
28
28
  decidim:
@@ -22,7 +22,7 @@ fi:
22
22
  too_long: liian pitkä
23
23
  choices:
24
24
  missing: ovat puutteellisia
25
- too_many: liian monta
25
+ too_many: Voit valita enintään %{count} vaihtoehtoa.
26
26
  questionnaire:
27
27
  request_invalid: Pyynnön käsittely ei onnistunut. Yritä uudestaan myöhemmin.
28
28
  decidim:
@@ -123,7 +123,7 @@ fi:
123
123
  up: Ylös
124
124
  update:
125
125
  invalid: Kyselylomakkeen tallentaminen epäonnistui.
126
- success: Lomakkeen tallennus onnistui.
126
+ success: Lomake tallennettu onnistuneesti.
127
127
  admin_log:
128
128
  questionnaire:
129
129
  update: "%{user_name} päivitti kyselyä %{resource_name}"
@@ -22,7 +22,7 @@ fr-CA:
22
22
  too_long: est trop long
23
23
  choices:
24
24
  missing: ne sont pas complets
25
- too_many: sont trop nombreux
25
+ too_many: Vous pouvez choisir un maximum de %{count}.
26
26
  questionnaire:
27
27
  request_invalid: Une erreur s'est produite. Veuillez réessayer.
28
28
  decidim:
@@ -22,7 +22,7 @@ fr:
22
22
  too_long: est trop long
23
23
  choices:
24
24
  missing: ne sont pas complets
25
- too_many: sont trop nombreux
25
+ too_many: Vous pouvez choisir un maximum de %{count}.
26
26
  questionnaire:
27
27
  request_invalid: Une erreur s'est produite. Veuillez réessayer.
28
28
  decidim:
@@ -15,7 +15,6 @@ gl:
15
15
  attributes:
16
16
  choices:
17
17
  missing: non están completos
18
- too_many: son demasiados
19
18
  decidim:
20
19
  forms:
21
20
  admin:
@@ -15,7 +15,6 @@ hu:
15
15
  attributes:
16
16
  choices:
17
17
  missing: nem teljesek
18
- too_many: túl sok
19
18
  decidim:
20
19
  forms:
21
20
  admin:
@@ -28,7 +27,7 @@ hu:
28
27
  answer_option: Válasz opció
29
28
  free_text: Szabadszöveg
30
29
  remove: Eltávolít
31
- statement: Állítás
30
+ statement: Nyilatkozat
32
31
  edit:
33
32
  save: Mentés
34
33
  form:
@@ -39,7 +38,7 @@ hu:
39
38
  expand: Minden kérdés kibontása
40
39
  matrix_row:
41
40
  remove: Eltávolít
42
- statement: Állítás
41
+ statement: Nyilatkozat
43
42
  question:
44
43
  add_answer_option: Válasz opció hozzáadása
45
44
  any: Bármilyen
@@ -49,7 +48,7 @@ hu:
49
48
  expand: Kibontás
50
49
  question: Kérdés
51
50
  remove: Eltávolít
52
- statement: Állítás
51
+ statement: Nyilatkozat
53
52
  up: Fel
54
53
  title_and_description:
55
54
  collapse: Összecsuk