decidim-forms 0.28.4 → 0.29.0.rc1

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