decidim-elections 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_elections_manifest.js +2 -0
  3. data/app/assets/javascripts/decidim/elections/vote.js.es6 +170 -0
  4. data/app/assets/stylesheets/decidim/elections/elections.scss +10 -0
  5. data/app/assets/stylesheets/decidim/elections/focus/_evote.scss +279 -0
  6. data/app/assets/stylesheets/decidim/elections/focus/_focus.scss +128 -0
  7. data/app/cells/decidim/elections/election_cell.rb +22 -0
  8. data/app/cells/decidim/elections/election_m/data.erb +19 -0
  9. data/app/cells/decidim/elections/election_m/footer.erb +5 -0
  10. data/app/cells/decidim/elections/election_m_cell.rb +103 -0
  11. data/app/cells/decidim/elections/voting_step_navigation/show.erb +29 -0
  12. data/app/cells/decidim/elections/voting_step_navigation_cell.rb +42 -0
  13. data/app/commands/decidim/elections/admin/create_election.rb +14 -3
  14. data/app/commands/decidim/elections/admin/create_question.rb +2 -1
  15. data/app/commands/decidim/elections/admin/destroy_election.rb +4 -0
  16. data/app/commands/decidim/elections/admin/import_proposals_to_elections.rb +87 -0
  17. data/app/commands/decidim/elections/admin/publish_election.rb +54 -0
  18. data/app/commands/decidim/elections/admin/unpublish_election.rb +43 -0
  19. data/app/commands/decidim/elections/admin/update_election.rb +15 -3
  20. data/app/commands/decidim/elections/admin/update_question.rb +2 -1
  21. data/app/controllers/concerns/decidim/elections/orderable.rb +36 -0
  22. data/app/controllers/decidim/elections/admin/answers_controller.rb +9 -1
  23. data/app/controllers/decidim/elections/admin/elections_controller.rb +26 -0
  24. data/app/controllers/decidim/elections/admin/proposals_imports_controller.rb +53 -0
  25. data/app/controllers/decidim/elections/elections_controller.rb +68 -0
  26. data/app/controllers/decidim/elections/votes_controller.rb +50 -0
  27. data/app/events/decidim/elections/election_published_event.rb +8 -0
  28. data/app/forms/decidim/elections/admin/answer_import_proposals_form.rb +41 -0
  29. data/app/forms/decidim/elections/admin/election_form.rb +15 -2
  30. data/app/forms/decidim/elections/admin/question_form.rb +1 -0
  31. data/app/helpers/decidim/elections/application_helper.rb +12 -0
  32. data/app/helpers/decidim/elections/election_cells_helper.rb +12 -0
  33. data/app/helpers/decidim/elections/votes_helper.rb +21 -0
  34. data/app/models/decidim/elections/answer.rb +5 -1
  35. data/app/models/decidim/elections/election.rb +69 -0
  36. data/app/models/decidim/elections/question.rb +9 -2
  37. data/app/permissions/decidim/elections/admin/permissions.rb +13 -3
  38. data/app/permissions/decidim/elections/permissions.rb +35 -0
  39. data/app/presenters/decidim/elections/admin_log/election_presenter.rb +41 -0
  40. data/app/presenters/decidim/elections/election_presenter.rb +28 -0
  41. data/app/queries/decidim/elections/filtered_elections.rb +37 -0
  42. data/app/services/decidim/elections/election_search.rb +35 -0
  43. data/app/types/decidim/elections/election_question_type.rb +2 -2
  44. data/app/types/decidim/elections/election_type.rb +2 -1
  45. data/app/types/decidim/elections/elections_type.rb +1 -1
  46. data/app/views/decidim/elections/admin/answers/index.html.erb +2 -1
  47. data/app/views/decidim/elections/admin/elections/_form.html.erb +2 -4
  48. data/app/views/decidim/elections/admin/elections/index.html.erb +23 -1
  49. data/app/views/decidim/elections/admin/proposals_imports/new.html.erb +24 -0
  50. data/app/views/decidim/elections/admin/questions/_form.html.erb +4 -0
  51. data/app/views/decidim/elections/admin/questions/index.html.erb +3 -1
  52. data/app/views/decidim/elections/elections/_count.html.erb +1 -0
  53. data/app/views/decidim/elections/elections/_election.html.erb +1 -0
  54. data/app/views/decidim/elections/elections/_elections.html.erb +24 -0
  55. data/app/views/decidim/elections/elections/_filters.html.erb +24 -0
  56. data/app/views/decidim/elections/elections/_filters_small_view.html.erb +18 -0
  57. data/app/views/decidim/elections/elections/index.html.erb +24 -0
  58. data/app/views/decidim/elections/elections/index.js.erb +10 -0
  59. data/app/views/decidim/elections/elections/show.html.erb +62 -0
  60. data/app/views/decidim/elections/votes/_election_votes_confirm.html.erb +53 -0
  61. data/app/views/decidim/elections/votes/_election_votes_confirm_footer.html.erb +24 -0
  62. data/app/views/decidim/elections/votes/_election_votes_confirmed.html.erb +26 -0
  63. data/app/views/decidim/elections/votes/_election_votes_encrypting.html.erb +20 -0
  64. data/app/views/decidim/elections/votes/_election_votes_header.html.erb +8 -0
  65. data/app/views/decidim/elections/votes/_election_votes_modal.html.erb +46 -0
  66. data/app/views/decidim/elections/votes/_election_votes_question.html.erb +49 -0
  67. data/app/views/decidim/elections/votes/_election_votes_steps_header.html.erb +12 -0
  68. data/app/views/decidim/elections/votes/new.html.erb +44 -0
  69. data/app/views/layouts/decidim/_election_votes_header.html.erb +13 -0
  70. data/app/views/layouts/decidim/election_votes.html.erb +24 -0
  71. data/config/locales/am-ET.yml +1 -0
  72. data/config/locales/bg.yml +7 -0
  73. data/config/locales/ca.yml +136 -6
  74. data/config/locales/cs.yml +133 -1
  75. data/config/locales/da.yml +1 -0
  76. data/config/locales/de.yml +93 -1
  77. data/config/locales/el.yml +11 -1
  78. data/config/locales/en.yml +131 -1
  79. data/config/locales/eo.yml +1 -0
  80. data/config/locales/es-MX.yml +131 -1
  81. data/config/locales/es-PY.yml +131 -1
  82. data/config/locales/es.yml +134 -4
  83. data/config/locales/et.yml +1 -0
  84. data/config/locales/fi-plain.yml +131 -1
  85. data/config/locales/fi.yml +131 -1
  86. data/config/locales/fr-CA.yml +131 -1
  87. data/config/locales/fr.yml +131 -1
  88. data/config/locales/hr.yml +1 -0
  89. data/config/locales/hu.yml +18 -0
  90. data/config/locales/is.yml +1 -0
  91. data/config/locales/it.yml +88 -1
  92. data/config/locales/ja-JP.yml +95 -8
  93. data/config/locales/ja.yml +254 -0
  94. data/config/locales/ko-KR.yml +1 -0
  95. data/config/locales/ko.yml +1 -0
  96. data/config/locales/lt.yml +1 -0
  97. data/config/locales/{lv-LV.yml → lv.yml} +11 -1
  98. data/config/locales/mt.yml +1 -0
  99. data/config/locales/nl.yml +88 -1
  100. data/config/locales/no.yml +64 -0
  101. data/config/locales/om-ET.yml +1 -0
  102. data/config/locales/pl.yml +124 -1
  103. data/config/locales/pt.yml +84 -1
  104. data/config/locales/ro-RO.yml +85 -1
  105. data/config/locales/so-SO.yml +1 -0
  106. data/config/locales/sv.yml +121 -1
  107. data/config/locales/ti-ER.yml +1 -0
  108. data/config/locales/vi-VN.yml +1 -0
  109. data/config/locales/vi.yml +1 -0
  110. data/config/locales/zh-CN.yml +254 -0
  111. data/config/locales/zh-TW.yml +1 -0
  112. data/db/migrate/20200601141412_add_published_at_to_elections.rb +7 -0
  113. data/db/migrate/20200807125040_remove_subtitle_from_decidim_elections.rb +7 -0
  114. data/db/migrate/20200910103648_add_min_selections_to_decidim_elections_questions.rb +7 -0
  115. data/lib/decidim/elections.rb +5 -0
  116. data/lib/decidim/elections/admin_engine.rb +7 -0
  117. data/lib/decidim/elections/bulletin_board_client.rb +35 -0
  118. data/lib/decidim/elections/component.rb +17 -12
  119. data/lib/decidim/elections/engine.rb +8 -1
  120. data/lib/decidim/elections/test/factories.rb +59 -6
  121. data/lib/decidim/elections/version.rb +1 -1
  122. data/lib/tasks/decidim_elections.rake +16 -0
  123. metadata +79 -13
@@ -0,0 +1,24 @@
1
+ <div class="focus__footer">
2
+ <div class="row">
3
+ <%= link_to(
4
+ icon("chevron-left", class: "icon", role: "img") + " " + t("decidim.elections.votes.voting_step.back"),
5
+ "#",
6
+ class: "focus__back",
7
+ data: {
8
+ toggle: ["step-#{questions_count - 1}", "step-#{questions_count}"].join(" ")
9
+ }
10
+ ) %>
11
+
12
+ <%= link_to(
13
+ "#",
14
+ class: "button focus__next confirm",
15
+ data: {
16
+ booth_mode: booth_mode,
17
+ toggle: ["encrypting", "step-#{questions_count}"].join(" ")
18
+ }
19
+ ) do %>
20
+ <%= t("decidim.elections.votes.confirm.confirm") %>
21
+ <%= icon("chevron-right", class: "icon", role: "img") %>
22
+ <% end %>
23
+ </div>
24
+ </div>
@@ -0,0 +1,26 @@
1
+ <%= render("election_votes_header", header_title: t("decidim.elections.votes.header.confirmed")) %>
2
+
3
+ <div class="focus__content evote">
4
+ <div class="row">
5
+ <h1 class="heading2">
6
+ <%= t("decidim.elections.votes.confirmed.header") %>
7
+ </h1>
8
+ <h2 class="h4"><%= t("decidim.elections.votes.confirmed.lead") %></h2>
9
+ <div class="evote__content">
10
+ <%= t("decidim.elections.votes.confirmed.text", e_vote_poll_id: "qw12Sf35vVb556Hfvh7qw12Sf35vVb556Hfvh7").html_safe %>
11
+ <p>
12
+ <%= t("decidim.elections.votes.confirmed.verify_text").html_safe %>
13
+ </p>
14
+ </div>
15
+
16
+ <%= link_to :elections, class: "button" do %>
17
+ <%= t("decidim.elections.votes.confirmed.back") %>
18
+ <% end %>
19
+ <div>
20
+ <%= t("decidim.elections.votes.confirmed.experience") %>
21
+ <a href="survey">
22
+ <%= t("decidim.elections.votes.confirmed.feedback") %>
23
+ </a>
24
+ </div>
25
+ </div>
26
+ </div>
@@ -0,0 +1,20 @@
1
+ <%= render("election_votes_header", header_title: t("decidim.elections.votes.header.encrypting")) %>
2
+ <div class="focus__content evote">
3
+ <div class="row">
4
+ <h1 class="heading2">
5
+ <%= t("decidim.elections.votes.encrypting.header") %>
6
+ </h1>
7
+ <div class="evote__encrypting" aria-hidden="true">
8
+ <div class="evote__dot"></div>
9
+ <div class="evote__dot"></div>
10
+ <div class="evote__dot"></div>
11
+ <div class="evote__dot"></div>
12
+ <div class="evote__dot"></div>
13
+ <div class="evote__dot"></div>
14
+ <div class="evote__dot"></div>
15
+ </div>
16
+ <p>
17
+ <%= t("decidim.elections.votes.encrypting.text") %>
18
+ </p>
19
+ </div>
20
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="focus__header">
2
+ <div class="row">
3
+ <div class="focus__steps"><strong><%= header_title %></strong></div>
4
+ <div class="heading5 focus__header-title">
5
+ <%= translated_attribute(election.title) %>
6
+ </div>
7
+ </div>
8
+ </div>
@@ -0,0 +1,46 @@
1
+ <div class="reveal" id="show-focus-modal-<%= answer.id %>" data-reveal>
2
+ <div class="reveal__header">
3
+ <h3 class="reveal__title"><%= translated_attribute(answer.title) %></h3>
4
+ <button class="close-button" data-close aria-label="Close modal"
5
+ type="button">
6
+ <span aria-hidden="true">&times;</span>
7
+ </button>
8
+ </div>
9
+ <div class="row m-bottom">
10
+ <div class="columns">
11
+ <% if answer.photos.any? %>
12
+ <div class="section">
13
+ <% answer.photos.each do |photo| %>
14
+ <%= image_tag photo.thumbnail_url, class:"thumbnail", alt: strip_tags(translated_attribute(photo.title)) %>
15
+ <% end %>
16
+ </div>
17
+ <% end %>
18
+ <% if answer.description %>
19
+ <div class="section">
20
+ <%== translated_attribute(answer.description) %>
21
+ </div>
22
+ <% end %>
23
+ </div>
24
+ <div class="section">
25
+ <% if answer.proposals.any? %>
26
+ <h4><%= t("decidim.elections.votes.modal.proposal_header") %></h4>
27
+ <ul>
28
+ <% answer.proposals.each do |proposal| %>
29
+ <li>
30
+ <%= link_to resource_locator(proposal).path do %>
31
+ <%== decidim_html_escape(present(proposal).title) %>
32
+ <% end %>
33
+ </li>
34
+ <% end %>
35
+ </ul>
36
+ <% end %>
37
+ </div>
38
+ </div>
39
+ <div class="row">
40
+ <div class="columns medium-4 medium-centered">
41
+ <button class="button expanded" data-close>
42
+ <%= t("decidim.elections.votes.modal.close") %>
43
+ </button>
44
+ </div>
45
+ </div>
46
+ </div>
@@ -0,0 +1,49 @@
1
+ <h1 class="heading2">
2
+ <%= translated_attribute(question.title) %>
3
+ </h1>
4
+ <%= content_tag(:p, t("decidim.elections.votes.new.answer_choices", choices: question.max_selections)) if question.max_selections > 1 %>
5
+
6
+ <div class="evote__options" data-max-selection="<%= question.max_selections %>" data-min-selection="<%= question.min_selections %>">
7
+ <% ordered_answers(question).each do |answer| %>
8
+ <%= label_tag nil, data: { "disabled-by": "#check-nota" }, class: "evote__check evote__card" do %>
9
+ <% if question.max_selections == 1 %>
10
+ <%= radio_button_tag "question_#{question.id}", answer.id, false, class: "answer_input" %>
11
+ <% else %>
12
+ <%= check_box_tag "question_#{question.id}", answer.id, false, class: "answer_input" %>
13
+ <% end %>
14
+
15
+ <span class="evote__check-label">
16
+ <%= translated_attribute(answer.title) %>
17
+ <% if more_information?(answer) %>
18
+ <span class="evote__check-extra">
19
+ <button type="button" class="link" data-toggle="show-focus-modal-<%= answer.id %>">
20
+ <%= t("decidim.elections.votes.new.more_information") %>
21
+ </button>
22
+ </span>
23
+ <% end %>
24
+ </span>
25
+ <% end %>
26
+
27
+ <%= render("election_votes_modal", answer: answer) if more_information?(answer) %>
28
+ <% end %>
29
+
30
+ <% if question.min_selections == 0 %>
31
+ <%= label_tag nil, nil, class: "evote__check evote__card" do %>
32
+ <% if question.max_selections == 1 %>
33
+ <%= radio_button_tag "question_#{question.id}", "nota_input_#{question.id}", false, class: "nota_input" %>
34
+ <% else %>
35
+ <%= check_box_tag "question_#{question.id}", "nota_input_#{question.id}", false, { class: "nota_input", id: "check-nota", data: { "disable-check": "" } } %>
36
+ <% end %>
37
+
38
+ <span class="evote__check-label" id="nota_input">
39
+ <%= t("decidim.elections.votes.new.nota_option") %>
40
+ </span>
41
+ <% end %>
42
+ <% end %>
43
+ </div>
44
+
45
+ <% if question.max_selections > 1 %>
46
+ <div class="evote__counter">
47
+ <%= t("votes.new.selections", scope:"decidim.elections", selected: "<strong class='evote__counter-num evote__counter-min'></strong>", max_selections: "<span class='evote__counter-num'>#{question.max_selections}</span>").html_safe %>
48
+ </div>
49
+ <% end %>
@@ -0,0 +1,12 @@
1
+ <div class="focus__header">
2
+ <div class="row">
3
+ <div class="focus__steps">
4
+ <strong>
5
+ <%= t("decidim.elections.votes.new.question_steps", current_step: step + 1, total_steps: questions_count) %>
6
+ </strong>
7
+ </div>
8
+ <div class="heading5 focus__header-title">
9
+ <%= translated_attribute(election.title) %>
10
+ </div>
11
+ </div>
12
+ </div>
@@ -0,0 +1,44 @@
1
+ <% questions.each_with_index do |step_question, step_index| %>
2
+ <div id="step-<%= step_index %>" class="focus__step <%= "hide" if step_index.positive? %>"
3
+ data-toggler=".hide">
4
+ <!-- step_question.answers.min-selection -->
5
+ <%= render(
6
+ "election_votes_steps_header",
7
+ step: step_index,
8
+ questions_count: questions_count
9
+ ) %>
10
+
11
+ <div class="focus__content evote">
12
+ <div class="row">
13
+ <%= render(
14
+ "election_votes_question",
15
+ question: step_question
16
+ ) %>
17
+ </div>
18
+ </div>
19
+
20
+ <%= cell(
21
+ "decidim/elections/voting_step_navigation",
22
+ step_index,
23
+ total_steps: questions_count
24
+ ) %>
25
+
26
+ </div>
27
+ <% end %>
28
+
29
+ <div id="step-<%= questions_count %>" class="hide focus__step" data-toggler=".hide">
30
+ <%= render(
31
+ "election_votes_confirm",
32
+ questions: questions
33
+ ) %>
34
+ </div>
35
+
36
+ <div id="encrypting" class="hide focus__step" data-toggler=".hide">
37
+ <%= render("election_votes_encrypting") %>
38
+ </div>
39
+
40
+ <div id="confirmed_page" class="hide focus__step" data-redirect_url=".hide">
41
+ <%= render("election_votes_confirmed") %>
42
+ </div>
43
+
44
+ <%= javascript_include_tag("decidim/elections/vote") %>
@@ -0,0 +1,13 @@
1
+ <% if booth_mode == :preview %>
2
+ <div class="focus__top_warning"><%= icon :warning %> <%= t("decidim.elections.votes.new.preview_alert") %></div>
3
+ <% end %>
4
+ <div class="focus__top">
5
+ <%= render partial: "layouts/decidim/logo", locals: { organization: current_organization } %>
6
+ <nav class="focus__user topbar__user__logged">
7
+ <%= current_user.name %>
8
+ </nav>
9
+ <%= link_to election_path(election), class: "focus__exit" do %>
10
+ <span class="focus__x-icon" aria-hidden="true">×</span>
11
+ <%= t(".exit") %>
12
+ <% end %>
13
+ </div>
@@ -0,0 +1,24 @@
1
+ <% add_decidim_meta_tags({
2
+ description: translated_attribute(election.description),
3
+ title: present(election).title
4
+ }) %>
5
+
6
+ <!doctype html>
7
+ <html class="no-js" lang="<%= I18n.locale %>">
8
+ <head>
9
+ <meta charset="utf-8">
10
+ <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
11
+ <meta name="author" content="">
12
+ <meta name="copyright" content="">
13
+ <meta name="description" content="">
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
15
+ <title><%= decidim_page_title %></title>
16
+ <%= render "layouts/decidim/head" %>
17
+ </head>
18
+ <body>
19
+ <main class="focus">
20
+ <%= render partial: "layouts/decidim/election_votes_header" %>
21
+ <%= yield %>
22
+ </main>
23
+ </body>
24
+ </html>
@@ -0,0 +1 @@
1
+ am:
@@ -0,0 +1,7 @@
1
+ bg:
2
+ activemodel:
3
+ attributes:
4
+ answer:
5
+ description: Описание
6
+ image: Изображение
7
+ proposals: Свързани предложения
@@ -10,11 +10,11 @@ ca:
10
10
  description: Descripció
11
11
  end_time: La votació finalitza el
12
12
  start_time: La votació comença el
13
- subtitle: Subtítol
14
13
  title: Títol
15
14
  question:
16
15
  description: Descripció
17
16
  max_selections: Número màxim d'opcions
17
+ min_selections: Cap de les anteriors
18
18
  title: Títol
19
19
  errors:
20
20
  models:
@@ -22,6 +22,10 @@ ca:
22
22
  attributes:
23
23
  attachment:
24
24
  needs_to_be_reattached: És necessari tornar a adjuntar l'arxiu
25
+ election:
26
+ attributes:
27
+ attachment:
28
+ needs_to_be_reattached: És necessari tornar a adjuntar l'arxiu
25
29
  activerecord:
26
30
  models:
27
31
  decidim/elections/answer:
@@ -36,6 +40,8 @@ ca:
36
40
  decidim:
37
41
  components:
38
42
  elections:
43
+ actions:
44
+ vote: Votar
39
45
  name: Votacions
40
46
  settings:
41
47
  global:
@@ -45,45 +51,56 @@ ca:
45
51
  elections:
46
52
  actions:
47
53
  confirm_destroy: N'estàs segura?
48
- destroy: Destruir
54
+ destroy: Eliminar
49
55
  edit: Editar
56
+ edit_answers: Edita les respostes
57
+ edit_questions: Edita les preguntes
58
+ import: Importar propostes com a respostes
50
59
  new: Nova %{name}
51
60
  preview: Previsualitzar
61
+ publish: Publicar
52
62
  title: Accions
63
+ unpublish: Despublicar
53
64
  admin:
54
65
  answers:
55
66
  create:
56
67
  invalid: Hi ha hagut un problema en crear aquesta resposta
57
68
  success: Resposta creada amb èxit
58
69
  destroy:
59
- invalid: Hi ha hagut un problema en borrar aquesta resposta
60
- success: Resposta creada amb èxit
70
+ invalid: Hi ha hagut un problema en eliminar aquesta resposta
71
+ success: Resposta eliminada amb èxit
61
72
  edit:
62
73
  title: Editar les respostes
63
74
  update: Actualitzar resposta
64
75
  index:
76
+ invalid_max_selections: Calen %{missing_answers} respostes més per a arribar al màxim de seleccions
65
77
  title: Respostes
66
78
  new:
67
79
  create: Crear resposta
68
80
  title: Nova resposta
69
81
  update:
70
- invalid: Hi ha hagut un problema en crear aquesta resposta
82
+ invalid: Hi ha hagut un problema en actualitzar aquesta resposta
71
83
  success: Resposta actualitzada amb èxit
72
84
  elections:
73
85
  create:
74
86
  invalid: S'ha produït un error en crear aquesta votació
75
87
  success: S'ha creat la votació correctament
76
88
  destroy:
77
- invalid: S'ha produït un error en crear aquesta votació
89
+ invalid: S'ha produït un error en eliminar aquesta votació
78
90
  success: S'ha eliminat la votació correctament
79
91
  edit:
80
92
  title: Editar la votació
81
93
  update: Actualitzar la votació
82
94
  index:
95
+ no_bulletin_board: No hi ha cap <a href="https://github.com/decidim/decidim-bulletin-board">servidor de Bulletin Board</a> configurat, el qual és necessari per utilitzar aquest mòdul. Aquesta tasca ha de ser realitzada per la persona administradora del sistema.
83
96
  title: Votacions
84
97
  new:
85
98
  create: Crear una votació
86
99
  title: Nova votació
100
+ publish:
101
+ success: La votació s'ha publicat correctament.
102
+ unpublish:
103
+ success: La votació s'ha despublicat correctament.
87
104
  update:
88
105
  invalid: S'ha produït un error en actualitzar aquesta votació
89
106
  success: S'ha actualitzat la votació correctament
@@ -94,6 +111,14 @@ ca:
94
111
  name: Votació
95
112
  question:
96
113
  name: Pregunta
114
+ proposals_imports:
115
+ create:
116
+ invalid: S'ha produït un error en importar les propostes a respostes
117
+ success: "S'ha importat amb èxit %{number} propostes a respostes"
118
+ new:
119
+ create: Importa propostes a respostes
120
+ no_components: No hi ha cap altre component de propostes en aquest espai participatiu per importar les propostes a respostes.
121
+ select_component: Selecciona un component
97
122
  questions:
98
123
  create:
99
124
  invalid: S'ha produït un error en crear aquesta pregunta
@@ -112,6 +137,49 @@ ca:
112
137
  update:
113
138
  invalid: S'ha produït un error en actualitzar aquesta pregunta
114
139
  success: La pregunta s'ha actualitzat correctament
140
+ admin_log:
141
+ election:
142
+ publish: "%{user_name} ha publicat la votació %{resource_name}"
143
+ unpublish: "%{user_name} ha despublicat la votació %{resource_name}"
144
+ election_m:
145
+ badge_name:
146
+ finished: Acabada
147
+ ongoing: Activa
148
+ upcoming: Properes
149
+ end_date: Finalitza
150
+ footer:
151
+ view: Veure
152
+ vote: Votar
153
+ label:
154
+ date: Dates
155
+ questions: Preguntes %{count}
156
+ start_date: Inici
157
+ unspecified: Sense especificar
158
+ elections:
159
+ count:
160
+ elections_count:
161
+ one: "%{count} votació"
162
+ other: "%{count} votacions"
163
+ filters:
164
+ active: Activa
165
+ all: Totes
166
+ finished: Finalizada
167
+ search: Cercar
168
+ state: Estat
169
+ upcoming: Properes
170
+ filters_small_view:
171
+ close_modal: Tancar el modal
172
+ filter: Filtrar
173
+ filter_by: Filtra per
174
+ unfold: Desplegar
175
+ show:
176
+ back: Totes les votacions
177
+ preview: Previsualitzar
178
+ vote: Votar
179
+ voting_period_status:
180
+ finished: La votació va començar el %{start_time} i va acabar el %{end_time}
181
+ ongoing: La votació finalitza el %{end_time}
182
+ upcoming: La votació comença el %{start_time}
115
183
  models:
116
184
  answer:
117
185
  fields:
@@ -127,6 +195,68 @@ ca:
127
195
  answers: Respostes
128
196
  max_selections: Número màxim d'elements a seleccionar
129
197
  title: Títol
198
+ orders:
199
+ label: Ordena votacions per
200
+ older: Més antiga
201
+ recent: Recent
202
+ votes:
203
+ confirm:
204
+ answer: Resposta
205
+ answer_number: resposta %{number}
206
+ confirm: Confirmar
207
+ edit: editar
208
+ header: Confirmar el teu vot
209
+ intro: Aquí trobarás un resum del vot que estàs a punt d'emetre. <br> Si us plau, confirma el teu vot o edita les teves respostes.
210
+ nota_option: En blanc
211
+ question: Preguntes %{count}
212
+ confirmed:
213
+ back: Tornar a les votacions
214
+ experience: Com valores l'experiència?
215
+ feedback: Dona'ns la teva opinió
216
+ header: Vot confirmat
217
+ lead: El teu vot ha estat emès!
218
+ text: 'Pots comprovar que el teu vot s''ha afegit correctament a l''urna amb el següent identificador: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
219
+ verify_text: Per comprovar-ho, copia l'identificador i enganxa'l a la <a href="evote-verify">pàgina de verificació de vot</a>
220
+ encrypting:
221
+ header: Codificant el vot...
222
+ text: El teu vot s'està xifrant per assegurar-te que l'emets de forma anònima.
223
+ header:
224
+ confirm: Confirma el teu vot
225
+ confirmed: Vot confirmat
226
+ encrypting: Confirmant vot
227
+ messages:
228
+ not_allowed: No pots votar en aquesta votació en aquest moment.
229
+ modal:
230
+ close: Tancar
231
+ proposal_header: 'Propostes:'
232
+ new:
233
+ answer_choices: Pots seleccionar fins a %{choices} respostes
234
+ more_information: Més informació
235
+ nota_option: En blanc / Cap de les anteriors
236
+ preview_alert: Aquesta és una vista prèvia de la cabina de votació.
237
+ question_steps: Pregunta %{current_step} de %{total_steps}
238
+ selections: "Seleccionada <br> %{selected} de %{max_selections}"
239
+ voting_step:
240
+ back: Enrere
241
+ continue: Següent
242
+ warnings:
243
+ no_elections_warning: No hi ha cap votació que coincideixi amb la teva cerca o no n'hi ha cap programada.
244
+ no_scheduled_elections_warning: Actualment no hi ha votacions programades, però pots veure les anteriors.
245
+ events:
246
+ elections:
247
+ election_published:
248
+ email_intro: 'La votació %{resource_title} ja està activa a %{participatory_space_title}. Pots veure-la des d''aquesta pàgina:'
249
+ email_outro: Has rebut aquesta notificació perquè estàs seguint l'espai %{participatory_space_title}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
250
+ email_subject: La votació %{resource_title} ja està activa a %{participatory_space_title}.
251
+ notification_title: La votació <a href="%{resource_path}">%{resource_title}</a> a %{participatory_space_title} ja està activa.
252
+ pages:
253
+ home:
254
+ statistics:
255
+ elections_count: Votacions
130
256
  participatory_processes:
131
257
  statistics:
132
258
  elections_count: Votacions
259
+ layouts:
260
+ decidim:
261
+ election_votes_header:
262
+ exit: Sortir