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.
- checksums.yaml +4 -4
- data/app/assets/config/decidim_elections_manifest.js +2 -0
- data/app/assets/javascripts/decidim/elections/vote.js.es6 +170 -0
- data/app/assets/stylesheets/decidim/elections/elections.scss +10 -0
- data/app/assets/stylesheets/decidim/elections/focus/_evote.scss +279 -0
- data/app/assets/stylesheets/decidim/elections/focus/_focus.scss +128 -0
- data/app/cells/decidim/elections/election_cell.rb +22 -0
- data/app/cells/decidim/elections/election_m/data.erb +19 -0
- data/app/cells/decidim/elections/election_m/footer.erb +5 -0
- data/app/cells/decidim/elections/election_m_cell.rb +103 -0
- data/app/cells/decidim/elections/voting_step_navigation/show.erb +29 -0
- data/app/cells/decidim/elections/voting_step_navigation_cell.rb +42 -0
- data/app/commands/decidim/elections/admin/create_election.rb +14 -3
- data/app/commands/decidim/elections/admin/create_question.rb +2 -1
- data/app/commands/decidim/elections/admin/destroy_election.rb +4 -0
- data/app/commands/decidim/elections/admin/import_proposals_to_elections.rb +87 -0
- data/app/commands/decidim/elections/admin/publish_election.rb +54 -0
- data/app/commands/decidim/elections/admin/unpublish_election.rb +43 -0
- data/app/commands/decidim/elections/admin/update_election.rb +15 -3
- data/app/commands/decidim/elections/admin/update_question.rb +2 -1
- data/app/controllers/concerns/decidim/elections/orderable.rb +36 -0
- data/app/controllers/decidim/elections/admin/answers_controller.rb +9 -1
- data/app/controllers/decidim/elections/admin/elections_controller.rb +26 -0
- data/app/controllers/decidim/elections/admin/proposals_imports_controller.rb +53 -0
- data/app/controllers/decidim/elections/elections_controller.rb +68 -0
- data/app/controllers/decidim/elections/votes_controller.rb +50 -0
- data/app/events/decidim/elections/election_published_event.rb +8 -0
- data/app/forms/decidim/elections/admin/answer_import_proposals_form.rb +41 -0
- data/app/forms/decidim/elections/admin/election_form.rb +15 -2
- data/app/forms/decidim/elections/admin/question_form.rb +1 -0
- data/app/helpers/decidim/elections/application_helper.rb +12 -0
- data/app/helpers/decidim/elections/election_cells_helper.rb +12 -0
- data/app/helpers/decidim/elections/votes_helper.rb +21 -0
- data/app/models/decidim/elections/answer.rb +5 -1
- data/app/models/decidim/elections/election.rb +69 -0
- data/app/models/decidim/elections/question.rb +9 -2
- data/app/permissions/decidim/elections/admin/permissions.rb +13 -3
- data/app/permissions/decidim/elections/permissions.rb +35 -0
- data/app/presenters/decidim/elections/admin_log/election_presenter.rb +41 -0
- data/app/presenters/decidim/elections/election_presenter.rb +28 -0
- data/app/queries/decidim/elections/filtered_elections.rb +37 -0
- data/app/services/decidim/elections/election_search.rb +35 -0
- data/app/types/decidim/elections/election_question_type.rb +2 -2
- data/app/types/decidim/elections/election_type.rb +2 -1
- data/app/types/decidim/elections/elections_type.rb +1 -1
- data/app/views/decidim/elections/admin/answers/index.html.erb +2 -1
- data/app/views/decidim/elections/admin/elections/_form.html.erb +2 -4
- data/app/views/decidim/elections/admin/elections/index.html.erb +23 -1
- data/app/views/decidim/elections/admin/proposals_imports/new.html.erb +24 -0
- data/app/views/decidim/elections/admin/questions/_form.html.erb +4 -0
- data/app/views/decidim/elections/admin/questions/index.html.erb +3 -1
- data/app/views/decidim/elections/elections/_count.html.erb +1 -0
- data/app/views/decidim/elections/elections/_election.html.erb +1 -0
- data/app/views/decidim/elections/elections/_elections.html.erb +24 -0
- data/app/views/decidim/elections/elections/_filters.html.erb +24 -0
- data/app/views/decidim/elections/elections/_filters_small_view.html.erb +18 -0
- data/app/views/decidim/elections/elections/index.html.erb +24 -0
- data/app/views/decidim/elections/elections/index.js.erb +10 -0
- data/app/views/decidim/elections/elections/show.html.erb +62 -0
- data/app/views/decidim/elections/votes/_election_votes_confirm.html.erb +53 -0
- data/app/views/decidim/elections/votes/_election_votes_confirm_footer.html.erb +24 -0
- data/app/views/decidim/elections/votes/_election_votes_confirmed.html.erb +26 -0
- data/app/views/decidim/elections/votes/_election_votes_encrypting.html.erb +20 -0
- data/app/views/decidim/elections/votes/_election_votes_header.html.erb +8 -0
- data/app/views/decidim/elections/votes/_election_votes_modal.html.erb +46 -0
- data/app/views/decidim/elections/votes/_election_votes_question.html.erb +49 -0
- data/app/views/decidim/elections/votes/_election_votes_steps_header.html.erb +12 -0
- data/app/views/decidim/elections/votes/new.html.erb +44 -0
- data/app/views/layouts/decidim/_election_votes_header.html.erb +13 -0
- data/app/views/layouts/decidim/election_votes.html.erb +24 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/bg.yml +7 -0
- data/config/locales/ca.yml +136 -6
- data/config/locales/cs.yml +133 -1
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +93 -1
- data/config/locales/el.yml +11 -1
- data/config/locales/en.yml +131 -1
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +131 -1
- data/config/locales/es-PY.yml +131 -1
- data/config/locales/es.yml +134 -4
- data/config/locales/et.yml +1 -0
- data/config/locales/fi-plain.yml +131 -1
- data/config/locales/fi.yml +131 -1
- data/config/locales/fr-CA.yml +131 -1
- data/config/locales/fr.yml +131 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +18 -0
- data/config/locales/is.yml +1 -0
- data/config/locales/it.yml +88 -1
- data/config/locales/ja-JP.yml +95 -8
- data/config/locales/ja.yml +254 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/{lv-LV.yml → lv.yml} +11 -1
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +88 -1
- data/config/locales/no.yml +64 -0
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +124 -1
- data/config/locales/pt.yml +84 -1
- data/config/locales/ro-RO.yml +85 -1
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sv.yml +121 -1
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +254 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20200601141412_add_published_at_to_elections.rb +7 -0
- data/db/migrate/20200807125040_remove_subtitle_from_decidim_elections.rb +7 -0
- data/db/migrate/20200910103648_add_min_selections_to_decidim_elections_questions.rb +7 -0
- data/lib/decidim/elections.rb +5 -0
- data/lib/decidim/elections/admin_engine.rb +7 -0
- data/lib/decidim/elections/bulletin_board_client.rb +35 -0
- data/lib/decidim/elections/component.rb +17 -12
- data/lib/decidim/elections/engine.rb +8 -1
- data/lib/decidim/elections/test/factories.rb +59 -6
- data/lib/decidim/elections/version.rb +1 -1
- data/lib/tasks/decidim_elections.rake +16 -0
- 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,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">×</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:
|
data/config/locales/ca.yml
CHANGED
@@ -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:
|
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
|
60
|
-
success: Resposta
|
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
|
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
|
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
|