decidim-budgets 0.21.0 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/decidim/budgets/icon.svg +1 -11
  3. data/app/assets/javascripts/decidim/budgets/projects.js.es6 +26 -4
  4. data/app/assets/stylesheets/decidim/budgets/budget/_budget-list.scss +147 -24
  5. data/app/cells/decidim/budgets/project_list_item/project_data.erb +5 -0
  6. data/app/cells/decidim/budgets/project_list_item/project_data_number.erb +3 -0
  7. data/app/cells/decidim/budgets/project_list_item/project_data_vote_button.erb +15 -0
  8. data/app/cells/decidim/budgets/project_list_item/project_data_votes.erb +7 -0
  9. data/app/cells/decidim/budgets/project_list_item/project_image.erb +5 -0
  10. data/app/cells/decidim/budgets/project_list_item/project_text.erb +17 -0
  11. data/app/cells/decidim/budgets/project_list_item/show.erb +5 -0
  12. data/app/cells/decidim/budgets/project_list_item_cell.rb +86 -0
  13. data/app/cells/decidim/budgets/project_m/data.erb +2 -2
  14. data/app/cells/decidim/budgets/project_m/footer.erb +1 -1
  15. data/app/commands/decidim/budgets/admin/create_project.rb +19 -9
  16. data/app/commands/decidim/budgets/admin/update_project.rb +12 -1
  17. data/app/commands/decidim/budgets/checkout.rb +2 -1
  18. data/app/controllers/concerns/decidim/budgets/needs_current_order.rb +5 -1
  19. data/app/controllers/concerns/decidim/budgets/orderable.rb +61 -0
  20. data/app/controllers/decidim/budgets/admin/projects_controller.rb +8 -5
  21. data/app/controllers/decidim/budgets/line_items_controller.rb +1 -1
  22. data/app/controllers/decidim/budgets/projects_controller.rb +5 -1
  23. data/app/forms/decidim/budgets/admin/component_form.rb +44 -0
  24. data/app/forms/decidim/budgets/admin/project_form.rb +14 -2
  25. data/app/helpers/decidim/budgets/projects_helper.rb +17 -0
  26. data/app/jobs/decidim/budgets/send_order_summary_job.rb +15 -0
  27. data/app/mailers/decidim/budgets/order_summary_mailer.rb +34 -0
  28. data/app/models/decidim/budgets/order.rb +28 -1
  29. data/app/models/decidim/budgets/project.rb +4 -0
  30. data/app/views/decidim/budgets/admin/projects/_form.html.erb +3 -6
  31. data/app/views/decidim/budgets/admin/projects/proposals_picker.html.erb +1 -0
  32. data/app/views/decidim/budgets/order_summary_mailer/order_summary.html.erb +21 -0
  33. data/app/views/decidim/budgets/projects/_budget_confirm.html.erb +1 -1
  34. data/app/views/decidim/budgets/projects/_budget_summary.html.erb +8 -2
  35. data/app/views/decidim/budgets/projects/_filters.html.erb +10 -6
  36. data/app/views/decidim/budgets/projects/_linked_projects.html.erb +1 -1
  37. data/app/views/decidim/budgets/projects/_order_progress.html.erb +8 -16
  38. data/app/views/decidim/budgets/projects/_project.html.erb +1 -57
  39. data/app/views/decidim/budgets/projects/_project_budget_button.html.erb +3 -3
  40. data/app/views/decidim/budgets/projects/_projects.html.erb +8 -1
  41. data/app/views/decidim/budgets/projects/index.html.erb +3 -3
  42. data/app/views/decidim/budgets/projects/index.js.erb +8 -0
  43. data/app/views/decidim/budgets/projects/show.html.erb +1 -1
  44. data/config/locales/ar.yml +0 -5
  45. data/config/locales/bg-BG.yml +7 -0
  46. data/config/locales/ca.yml +26 -4
  47. data/config/locales/cs.yml +43 -21
  48. data/config/locales/da-DK.yml +1 -0
  49. data/config/locales/de.yml +26 -4
  50. data/config/locales/el.yml +174 -0
  51. data/config/locales/en.yml +26 -4
  52. data/config/locales/es-MX.yml +26 -4
  53. data/config/locales/es-PY.yml +26 -4
  54. data/config/locales/es.yml +26 -4
  55. data/config/locales/et-EE.yml +1 -0
  56. data/config/locales/eu.yml +0 -5
  57. data/config/locales/fi-plain.yml +26 -4
  58. data/config/locales/fi.yml +37 -15
  59. data/config/locales/fr-CA.yml +175 -0
  60. data/config/locales/fr.yml +26 -4
  61. data/config/locales/ga-IE.yml +1 -0
  62. data/config/locales/gl.yml +0 -5
  63. data/config/locales/hr-HR.yml +1 -0
  64. data/config/locales/hu.yml +16 -5
  65. data/config/locales/id-ID.yml +0 -5
  66. data/config/locales/is-IS.yml +0 -5
  67. data/config/locales/it.yml +27 -5
  68. data/config/locales/ja-JP.yml +171 -0
  69. data/config/locales/lt-LT.yml +1 -0
  70. data/config/locales/lv-LV.yml +172 -0
  71. data/config/locales/mt-MT.yml +1 -0
  72. data/config/locales/nl.yml +26 -4
  73. data/config/locales/no.yml +20 -7
  74. data/config/locales/pl.yml +73 -51
  75. data/config/locales/pt-BR.yml +1 -6
  76. data/config/locales/pt.yml +63 -41
  77. data/config/locales/ro-RO.yml +179 -0
  78. data/config/locales/ru.yml +0 -5
  79. data/config/locales/sk-SK.yml +180 -0
  80. data/config/locales/sk.yml +175 -0
  81. data/config/locales/sl.yml +5 -0
  82. data/config/locales/sr-CS.yml +29 -0
  83. data/config/locales/sv.yml +26 -4
  84. data/config/locales/tr-TR.yml +0 -5
  85. data/config/locales/uk.yml +0 -5
  86. data/lib/decidim/budgets/admin_engine.rb +2 -0
  87. data/lib/decidim/budgets/component.rb +4 -0
  88. data/lib/decidim/budgets/seeds/city.jpeg +0 -0
  89. data/lib/decidim/budgets/test/factories.rb +33 -0
  90. data/lib/decidim/budgets/version.rb +1 -1
  91. metadata +49 -14
@@ -27,12 +27,9 @@
27
27
  </div>
28
28
 
29
29
  <div class="row column">
30
- <% if @form.proposals %>
31
- <%= form.select :proposal_ids,
32
- @form.proposals,
33
- {},
34
- { multiple: true, class: "chosen-select" } %>
35
- <% end %>
30
+ <%= proposals_picker(form, :proposals, proposals_picker_projects_path) %>
36
31
  </div>
32
+
33
+ <%= render partial: "decidim/admin/shared/gallery", locals: { form: form } %>
37
34
  </div>
38
35
  </div>
@@ -0,0 +1 @@
1
+ <%= cell "decidim/proposals/proposals_picker", current_component %>
@@ -0,0 +1,21 @@
1
+ <% if @component.try(:scopes_enabled) %>
2
+ <%= t(
3
+ ".voted_on_space_with_scope",
4
+ space_name: translated_attribute(@space.title),
5
+ scope_name: translated_attribute(@component.scope.name),
6
+ scope_type: translated_attribute(@component.scope.scope_type.name)
7
+ ) %>
8
+ <% else %>
9
+ <%= t(
10
+ ".voted_on_space",
11
+ space_name: translated_attribute(@space.title)
12
+ ) %>
13
+ <% end %>
14
+
15
+ <p><%= t(".selected_projects") %></p>
16
+
17
+ <ul>
18
+ <% @order.projects.each do |project| %>
19
+ <li><%= translated_attribute(project.title) %></li>
20
+ <% end %>
21
+ </ul>
@@ -22,7 +22,7 @@
22
22
  <p class="text-center"><%= t(".are_you_sure") %></p>
23
23
  <div class="row">
24
24
  <div class="columns medium-8 medium-offset-2">
25
- <%= button_to t(".confirm"), checkout_order_path, class: "button expanded", data: { disable: true } %>
25
+ <%= button_to t(".confirm"), "#{checkout_order_path}#content", class: "button expanded", data: { disable: true } %>
26
26
  </div>
27
27
  </div>
28
28
  <div class="text-center">
@@ -1,4 +1,4 @@
1
- <div class="card budget-summary" data-progress-reference>
1
+ <div class="card budget-summary" data-progress-reference data-safe-url="<%= projects_base_url %>">
2
2
  <div class="card__content">
3
3
  <% if include_heading %>
4
4
  <% if current_order_checked_out? %>
@@ -8,7 +8,13 @@
8
8
  </p>
9
9
  <% else %>
10
10
  <h3 class="heading3"><%= t(".title") %></h3>
11
- <p><%= t(".description", minimum_budget: budget_to_currency(current_order&.minimum_budget)) %></p>
11
+ <p>
12
+ <% if current_order.minimum_projects_rule? %>
13
+ <%= t(".description_minimum_projects_rule", minimum_number: current_order.minimum_projects) %>
14
+ <% else %>
15
+ <%= t(".description", minimum_budget: budget_to_currency(current_order.minimum_budget)) %>
16
+ <% end %>
17
+ </p>
12
18
  <% end %>
13
19
  <% end %>
14
20
 
@@ -1,11 +1,13 @@
1
+ <%= render partial: "decidim/shared/filter_form_help", locals: { skip_to_id: "projects" } %>
2
+
1
3
  <%= filter_form_for filter do |form| %>
2
4
  <div class="filters__section">
3
5
  <div class="filters__search">
4
6
  <div class="input-group">
5
- <%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(".search") %>
7
+ <%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), data: { disable_dynamic_change: true } %>
6
8
  <div class="input-group-button">
7
- <button type="submit" class="button button--muted">
8
- <%= icon "magnifying-glass", aria_label: t(".search") %>
9
+ <button type="submit" class="button" aria-controls="projects">
10
+ <%= icon "magnifying-glass", aria_label: t(".search"), role: "img", "aria-hidden": true %>
9
11
  </button>
10
12
  </div>
11
13
  </div>
@@ -13,10 +15,12 @@
13
15
  </div>
14
16
 
15
17
  <% if current_participatory_space.has_subscopes? %>
16
- <%= form.check_boxes_tree :scope_id, filter_scopes_values, legend_title: t(".scope") %>
18
+ <%= form.check_boxes_tree :scope_id, filter_scopes_values, legend_title: t(".scope"), "aria-controls": "projects" %>
17
19
  <% end %>
18
20
 
19
- <% if current_component.categories.any? %>
20
- <%= form.check_boxes_tree :category_id, filter_categories_values, legend_title: t(".category") %>
21
+ <% if current_participatory_space.categories.any? %>
22
+ <%= form.check_boxes_tree :category_id, filter_categories_values, legend_title: t(".category"), "aria-controls": "projects" %>
21
23
  <% end %>
24
+
25
+ <%= hidden_field_tag :order, order, id: nil, class: "order_filter" %>
22
26
  <% end %>
@@ -1,7 +1,7 @@
1
1
  <div class="card card--action card--list">
2
2
  <% resources.each do |project| %>
3
3
  <div class="card--list__item">
4
- <%= icon "actions", class: "card--list__icon", remove_icon_class: true %>
4
+ <%= icon "actions", class: "card--list__icon", role: "img", "aria-hidden": true, remove_icon_class: true %>
5
5
  <%= link_to resource_locator(project).path, class: "card--list__text card__link card__link--block" do %>
6
6
  <h5 class="card--list__heading">
7
7
  <%= translated_attribute(project.title) %>
@@ -1,35 +1,27 @@
1
1
  <div id="order-progress">
2
2
  <div class="budget-summary__progressbox" data-current-budget="<%= current_order ? current_order.total_budget : 0 %>">
3
- <div class="progress budget-progress" role="progressbar" tabindex="0" aria-valuenow="<%= current_order_budget_percent %>" aria-valuemin="<%= component_settings.vote_threshold_percent %>" aria-valuetext="<%= current_order_budget_percent %>%" aria-valuemax="100">
4
- <div class="progress-meter progress-meter--minimum" style="width: <%= 100 - current_order_budget_percent %>%"></div>
3
+ <div class="progress budget-progress" role="progressbar" aria-valuenow="<%= current_order_budget_percent %>" aria-valuetext="<%= current_order_budget_percent %>%" aria-valuemin="0" aria-valuemax="100">
4
+ <div class="progress-meter progress-meter--minimum" style="width: <%= component_settings.vote_threshold_percent %>%"></div>
5
5
  <!--Change width and text dynamically.-->
6
6
  <div class="progress-meter budget-progress__meter" style="width: <%= current_order_budget_percent %>%">
7
- <p class="progress-meter-text progress-meter-text--right"><%= current_order_budget_percent %>%</p>
7
+ <span class="progress-meter-text progress-meter-text--right"><%= current_order_budget_percent %>%</span>
8
8
  </div>
9
9
  </div>
10
10
  <% unless current_order_checked_out? %>
11
- <% if current_order_can_be_checked_out? %>
12
- <button class="button small button--sc" data-toggle="budget-confirm"><%= t(".vote") %></button>
13
- <% else %>
14
- <button class="button small button--sc" data-toggle="budget-confirm" disabled><%= t(".vote") %></button>
15
- <% end %>
11
+ <button class="button small button--sc" data-toggle="budget-confirm" <%= budget_confirm_disabled_attr %>><%= t(".vote") %></button>
16
12
  <% end %>
17
13
  </div>
18
14
 
19
15
  <div class="progressbox-fixed-wrapper" data-progressbox-fixed>
20
16
  <div class="budget-summary__progressbox budget-summary__progressbox--fixed">
21
- <div class="progress budget-progress budget-progress--fixed" role="progressbar" tabindex="0" aria-valuenow="<%= current_order_budget_percent %>" aria-valuemin="<%= component_settings.vote_threshold_percent %>" aria-valuetext="<%= current_order_budget_percent %>%" aria-valuemax="100">
22
- <div class="progress-meter progress-meter--minimum" style="width: <%= 100 - current_order_budget_percent %>%"></div>
17
+ <div class="progress budget-progress budget-progress--fixed" role="progressbar" aria-valuenow="<%= current_order_budget_percent %>" aria-valuetext="<%= current_order_budget_percent %>%" aria-valuemin="0" aria-valuemax="100">
18
+ <div class="progress-meter progress-meter--minimum" style="width: <%= component_settings.vote_threshold_percent %>%"></div>
23
19
  <div class="progress-meter budget-progress__meter" style="width: <%= current_order_budget_percent %>%">
24
- <p class="progress-meter-text progress-meter-text--right"><%= current_order_budget_percent %>%</p>
20
+ <span class="progress-meter-text progress-meter-text--right"><%= current_order_budget_percent %>%</span>
25
21
  </div>
26
22
  </div>
27
23
  <% unless current_order_checked_out? %>
28
- <% if current_order_can_be_checked_out? %>
29
- <button class="button small button--sc" data-toggle="budget-confirm"><%= t(".vote") %></button>
30
- <% else %>
31
- <button class="button small button--sc" data-toggle="budget-confirm" disabled><%= t(".vote") %></button>
32
- <% end %>
24
+ <button class="button small button--sc" data-toggle="budget-confirm" <%= budget_confirm_disabled_attr %>><%= t(".vote") %></button>
33
25
  <% end %>
34
26
  </div>
35
27
  </div>
@@ -1,57 +1 @@
1
- <div id="project-<%= project.id %>-item" class="card--list__item">
2
- <div class="card--list__text">
3
- <div>
4
- <%= link_to project, class: "card__link" do %>
5
- <h5 class="card__title budget-list__title">
6
- <%= translated_attribute project.title %>
7
- </h5>
8
- <% end %>
9
- <%= cell "decidim/tags", project, context: { extra_classes: ["tags--project"] } %>
10
- </div>
11
- </div>
12
- <% if current_user.present? %>
13
- <% if current_order && current_order.projects.include?(project) %>
14
- <div class="card--list__data budget-list__data budget-list__data--added">
15
- <span class="card--list__data__number budget-list__number">
16
- <%= budget_to_currency(project.budget) %>
17
- </span>
18
- <%= action_authorized_button_to "vote", order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button tiny budget--list__action success" do %>
19
- <%= icon("check", class: "icon--small", aria_label: t(".remove"), role: "img") %>
20
- <% end %>
21
- <% if current_settings.show_votes? %>
22
- <div class="card__support" style="width: 7em">
23
- <span><%= t(".count", count: project.confirmed_orders_count) %></span>
24
- </div>
25
- <% end %>
26
- </div>
27
- <% else %>
28
- <div class="card--list__data budget-list__data">
29
- <span class="card--list__data__number budget-list__number">
30
- <%= budget_to_currency(project.budget) %>
31
- </span>
32
- <%= action_authorized_button_to "vote", order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button tiny hollow budget--list__action" do %>
33
- <%= icon("check", class: "icon--small", aria_label: t(".add"), role: "img") %>
34
- <% end %>
35
- <% if current_settings.show_votes? %>
36
- <div class="card__support" style="width: 7em">
37
- <span><%= t(".count", count: project.confirmed_orders_count) %></span>
38
- </div>
39
- <% end %>
40
- </div>
41
- <% end %>
42
- <% else %>
43
- <div class="card--list__data budget-list__data">
44
- <span class="card--list__data__number budget-list__number">
45
- <%= budget_to_currency(project.budget) %>
46
- </span>
47
- <a href="#" class="button tiny hollow budget--list__action disabled" data-toggle="loginModal">
48
- <%= icon("check", class: "icon--small", aria_label: t(".add"), role: "img") %>
49
- </a>
50
- <% if current_settings.show_votes? %>
51
- <div class="card__support" style="width: 7em">
52
- <span><%= t(".count", count: project.confirmed_orders_count) %></span>
53
- </div>
54
- <% end %>
55
- </div>
56
- <% end %>
57
- </div>
1
+ <%= cell "decidim/budgets/project_list_item", project %>
@@ -1,11 +1,11 @@
1
1
  <div id="project-<%= project.id %>-budget-button">
2
2
  <% if current_user.present? %>
3
3
  <% if current_order && current_order.projects.include?(project) %>
4
- <%= action_authorized_button_to "vote", t(".added"), order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button expanded button--sc success budget--list__action" %>
4
+ <%= action_authorized_button_to "vote", t(".added"), order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button expanded button--sc active budget--list__action", "aria-label": t(".added_descriptive", resource_name: translated_attribute(project.title)) %>
5
5
  <% else %>
6
- <%= action_authorized_button_to "vote", t(".add"), order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button expanded button--sc budget--list__action" %>
6
+ <%= action_authorized_button_to "vote", t(".add"), order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button expanded button--sc budget--list__action", "aria-label": t(".add_descriptive", resource_name: translated_attribute(project.title)) %>
7
7
  <% end %>
8
8
  <% else %>
9
- <button class="button expanded button--sc disabled" data-toggle="loginModal"><%= t(".add") %></button>
9
+ <button class="button expanded button--sc disabled" data-toggle="loginModal" aria-label="<%= t(".add_descriptive", resource_name: translated_attribute(project.title)) %>"><%= t(".add") %></button>
10
10
  <% end %>
11
11
  </div>
@@ -1,6 +1,13 @@
1
- <div class="card card--list budget-list">
1
+ <div class="collection-sort-controls row small-up-1 medium-up-3 card-grid">
2
+ <div class="column">
3
+ <%= order_selector available_orders, i18n_scope: "decidim.budgets.projects.orders" %>
4
+ </div>
5
+ </div>
6
+
7
+ <div class="budget-list">
2
8
  <% projects.each do |project| %>
3
9
  <%= render partial: "project", locals: { project: project } %>
4
10
  <% end %>
5
11
  </div>
12
+
6
13
  <%= decidim_paginate projects %>
@@ -6,9 +6,9 @@
6
6
  </div>
7
7
  <% end %>
8
8
  <div class="row columns">
9
- <h2 class="section-heading">
9
+ <h3 class="section-heading">
10
10
  <%= render partial: "count" %>
11
- </h2>
11
+ </h3>
12
12
  </div>
13
13
  <div class="row">
14
14
  <div class="columns mediumlarge-4 large-3">
@@ -17,7 +17,7 @@
17
17
  <%= render partial: "filters" %>
18
18
  </div>
19
19
  </div>
20
- <div id="projects" class="columns mediumlarge-8 large-9">
20
+ <div id="projects" class="columns mediumlarge-8 large-9" aria-live="polite">
21
21
  <%= render partial: "projects" %>
22
22
  </div>
23
23
  </div>
@@ -1,2 +1,10 @@
1
1
  var $projects = $('#projects');
2
+ var $projectsCount = $('#projects-count');
3
+ var $orderFilterInput = $('.order_filter');
4
+
2
5
  $projects.html('<%= j(render partial: "projects").strip.html_safe %>');
6
+ $projectsCount.html('<%= j(render partial: "count").strip.html_safe %>');
7
+ $orderFilterInput.val('<%= order %>');
8
+
9
+ var $dropdownMenu = $('.dropdown.menu', $projects);
10
+ $dropdownMenu.foundation();
@@ -17,7 +17,7 @@ edit_link(
17
17
  <%= render partial: "budget_summary", locals: { include_heading: false } %>
18
18
  <% end %>
19
19
  <%= link_to projects_path, class: "muted-link" do %>
20
- <%= icon "chevron-left", class: "icon--small" %>
20
+ <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
21
21
  <%= t(".view_all_projects") %>
22
22
  <% end %>
23
23
  <h2 class="heading2"><%= translated_attribute project.title %></h2>
@@ -120,7 +120,6 @@ ar:
120
120
  other: المشاريع المختارة
121
121
  view: رأي
122
122
  project:
123
- add: إضافة
124
123
  count:
125
124
  zero: "%{count} يدعم"
126
125
  one: 1 الدعم
@@ -128,11 +127,7 @@ ar:
128
127
  few: "%{count} يدعم"
129
128
  many: "%{count} يدعم"
130
129
  other: "%{count} يدعم"
131
- remove: إزالة
132
130
  view: رأي
133
- project_budget_button:
134
- add: إضافة
135
- added: وأضاف
136
131
  show:
137
132
  budget: ميزانية
138
133
  view_all_projects: عرض جميع المشاريع
@@ -0,0 +1,7 @@
1
+ bg:
2
+ activemodel:
3
+ attributes:
4
+ project:
5
+ budget: Бюджет
6
+ decidim_category_id: Категория
7
+ decidim_scope_id: Сфера
@@ -65,6 +65,12 @@ ca:
65
65
  project:
66
66
  fields:
67
67
  title: Títol
68
+ order_summary_mailer:
69
+ order_summary:
70
+ selected_projects: 'Els projectes que has seleccionat són:'
71
+ subject: Has votat a l'espai de participació %{space_name}
72
+ voted_on_space: Has votat en el pressupost de l'espai de participació %{space_name}.
73
+ voted_on_space_with_scope: Has votat en el pressupost de l'espai de participació %{space_name} a %{scope_name} (%{scope_type}).
68
74
  projects:
69
75
  budget_confirm:
70
76
  are_you_sure: Hi estàs d'acord? Un cop hagis confirmat el teu vot, no podràs canviar-lo.
@@ -85,6 +91,7 @@ ca:
85
91
  description: Ja has votat pel pressupost. Si has canviat d'idea, pots %{cancel_link}.
86
92
  title: Vot pels pressupostos completat
87
93
  description: En quins projectes creus que hem de destinar el pressupost? Assigna com a mínim %{minimum_budget} als projectes que desitges i vota per definir el pressupost.
94
+ description_minimum_projects_rule: A quins projectes creus que hem de destinar el pressupost? Selecciona com a mínim %{minimum_number} projectes i vota segons les teves preferències per a definir el pressupost.
88
95
  title: Tu decideixes el pressupost
89
96
  count:
90
97
  projects_count:
@@ -107,16 +114,24 @@ ca:
107
114
  one: projecte seleccionat
108
115
  other: projectes seleccionats
109
116
  view: Veure
117
+ orders:
118
+ highest_cost: Major cost
119
+ label: Ordenar projectes per
120
+ lowest_cost: Menor cost
121
+ most_voted: Més votats
122
+ random: Ordre aleatori
110
123
  project:
111
- add: Afegir
124
+ add: Afegir el projecte %{resource_name} al teu vot
112
125
  count:
113
126
  one: 1 suport
114
127
  other: "%{count} suports"
115
- remove: Esborrar
128
+ remove: Esborrar el projecte %{resource_name} del teu vot
116
129
  view: Veure
117
130
  project_budget_button:
118
- add: Afegir
119
- added: Afegit
131
+ add: Afegir al teu vot
132
+ add_descriptive: Afegir el projecte %{resource_name} al teu vot
133
+ added: Afegit al teu vot
134
+ added_descriptive: El projecte %{resource_name} s'ha afegit al teu vot
120
135
  show:
121
136
  budget: Pressupost
122
137
  view_all_projects: Veure tots els projectes
@@ -129,9 +144,16 @@ ca:
129
144
  global:
130
145
  announcement: Avís
131
146
  comments_enabled: Comentaris habilitats
147
+ form:
148
+ errors:
149
+ budget_voting_rule_only_one: Cal activar com a mínim una norma per a la votació
150
+ budget_voting_rule_required: Es requereix una norma per a la votació
132
151
  projects_per_page: Projectes per pàgina
133
152
  resources_permissions_enabled: Es poden establir permisos d'accions per a cada trobada
134
153
  total_budget: Pressupost total
154
+ vote_minimum_budget_projects_number: Nombre màxim de projectes a votar
155
+ vote_rule_minimum_budget_projects_enabled: 'Activar norma: Número mínim de projectes a votar'
156
+ vote_rule_threshold_percent_enabled: 'Activar norma: percentatge mínim del pressupost'
135
157
  vote_threshold_percent: Percentatge del pressupost mínim per fer el vot
136
158
  step:
137
159
  announcement: Avís
@@ -21,9 +21,9 @@ cs:
21
21
  attachment_collections: Složky
22
22
  attachments: Přílohy
23
23
  confirm_destroy: Opravdu chcete tento projekt smazat?
24
- destroy: Odstranit
24
+ destroy: Smazat
25
25
  edit: Upravit
26
- import: Návrhy na projekty
26
+ import: Importovat návrhy do projektů
27
27
  new: Nový projekt
28
28
  preview: Náhled
29
29
  title: Akce
@@ -67,10 +67,16 @@ cs:
67
67
  project:
68
68
  fields:
69
69
  title: Titul
70
+ order_summary_mailer:
71
+ order_summary:
72
+ selected_projects: 'Vybrané projekty jsou:'
73
+ subject: Hlasovali jste o účastnickém prostoru %{space_name}
74
+ voted_on_space: Hlasovali jste o rozpočtech pro participační prostor %{space_name}.
75
+ voted_on_space_with_scope: Hlasovali jste o rozpočtech pro participační prostor %{space_name} na %{scope_name} (%{scope_type}).
70
76
  projects:
71
77
  budget_confirm:
72
- are_you_sure: Souhlasíš? Jakmile potvrdíte své hlasování, nemůžete to změnit.
73
- cancel: zrušení
78
+ are_you_sure: Souhlasíte? Jakmile potvrdíte své hlasování, nemůžete to změnit.
79
+ cancel: Zrušit
74
80
  confirm: Potvrdit
75
81
  description: Jedná se o projekty, které jste zvolili jako součást rozpočtu.
76
82
  title: Potvrďte hlasování
@@ -82,12 +88,13 @@ cs:
82
88
  budget_summary:
83
89
  are_you_sure: Opravdu chcete zrušit hlasování?
84
90
  assigned: 'Přiřazeno:'
85
- cancel_order: smazat hlas a začít znovu
91
+ cancel_order: smazat váš hlas a začít znovu
86
92
  checked_out:
87
93
  description: Už jste hlasovali pro rozpočet. Pokud jste změnili názor, můžete %{cancel_link}.
88
- title: Rozpočet byl dokončen
89
- description: Jaké projekty by podle vás měly přidělit rozpočet? Přidejte nejméně %{minimum_budget} projektům, které chcete, a hlasujte podle svých preferencí a definujte rozpočet.
90
- title: Rozhodnete se pro rozpočet
94
+ title: Hlasování o rozpočtu bylo dokončeno
95
+ description: Na jaké projekty bychom podle vás měli vyčlenit rozpočet? Přiřaďte k projektům, které chcete přiřadit alespoň %{minimum_budget} a hlasujte s vašimi preferencemi pro definování rozpočtu.
96
+ description_minimum_projects_rule: Na jaké projekty bychom podle vás měli vyčlenit rozpočet? Vyberte alespoň %{minimum_number} projektů, které chcete a hlasujte s vašimi preferencemi pro definování rozpočtu.
97
+ title: Rozhodujete o rozpočtu
91
98
  count:
92
99
  projects_count:
93
100
  one: 1 projekt
@@ -102,9 +109,9 @@ cs:
102
109
  close_modal: Zavřít modální
103
110
  filter: Filtr
104
111
  filter_by: Filtrovat podle
105
- unfold: Rozvinout
112
+ unfold: Rozbalit
106
113
  order_progress:
107
- vote: Hlasování
114
+ vote: Hlasovat
108
115
  order_selected_projects:
109
116
  remove: Odstranit
110
117
  selected_projects:
@@ -112,35 +119,50 @@ cs:
112
119
  few: vybraných projektů
113
120
  many: vybraných projektů
114
121
  other: vybraných projektů
115
- view: Pohled
122
+ view: Zobrazit
123
+ orders:
124
+ highest_cost: Nejvyšší náklady
125
+ label: Seřadit projekty podle
126
+ lowest_cost: Nejnižší náklady
127
+ most_voted: Nejvíce hlasovalo
128
+ random: Náhodné pořadí
116
129
  project:
117
- add: Přidat
130
+ add: Přidejte k hlasování projekt %{resource_name}
118
131
  count:
119
132
  one: 1 podpory
120
133
  few: "%{count} podporuje"
121
134
  many: "%{count} podporuje"
122
135
  other: "%{count} podporuje"
123
- remove: Odstranit
124
- view: Pohled
136
+ remove: Odebrat projekt %{resource_name} z vašeho hlasování
137
+ view: Zobrazit
125
138
  project_budget_button:
126
- add: Přidat
127
- added: Přidán
139
+ add: Přidat do vašeho hlasování
140
+ add_descriptive: Přidat k hlasování projekt %{resource_name}
141
+ added: Přidáno k vašemu hlasování
142
+ added_descriptive: Projekt %{resource_name} přidán k vašemu hlasování
128
143
  show:
129
144
  budget: Rozpočet
130
145
  view_all_projects: Zobrazit všechny projekty
131
146
  components:
132
147
  budgets:
133
148
  actions:
134
- vote: Hlasování
149
+ vote: Hlasovat
135
150
  name: Rozpočty
136
151
  settings:
137
152
  global:
138
153
  announcement: Oznámení
139
154
  comments_enabled: Komentáře povoleny
155
+ form:
156
+ errors:
157
+ budget_voting_rule_only_one: Pouze jedno hlasovací pravidlo musí být povoleno
158
+ budget_voting_rule_required: Je vyžadováno jedno pravidlo hlasování
140
159
  projects_per_page: Projekty na stránku
141
160
  resources_permissions_enabled: Nastavení oprávnění lze nastavit pro každou schůzku
142
161
  total_budget: Celkový rozpočet
143
- vote_threshold_percent: Hlasovací procentní podíl
162
+ vote_minimum_budget_projects_number: Minimální počet projektů k hlasování
163
+ vote_rule_minimum_budget_projects_enabled: 'Povolit pravidlo: Minimální počet projektů, o kterých se má hlasovat'
164
+ vote_rule_threshold_percent_enabled: 'Povolit pravidlo: minimální procento rozpočtu'
165
+ vote_threshold_percent: Prahová hodnota pro hlasování v procentech
144
166
  step:
145
167
  announcement: Oznámení
146
168
  comments_blocked: Komentáře byly blokovány
@@ -149,13 +171,13 @@ cs:
149
171
  orders:
150
172
  checkout:
151
173
  error: Při zpracování hlasu došlo k chybě
152
- success: Vaše hlasování bylo úspěšně přijato
174
+ success: Váš hlas byl úspěšně přijat
153
175
  destroy:
154
- error: Při zrušení hlasování došlo k chybě
176
+ error: Při rušení vašeho hlasování došlo k chybě
155
177
  success: Váš hlas byl úspěšně zrušen
156
178
  resource_links:
157
179
  included_proposals:
158
- project_proposal: 'Návrhy zahrnuté v tomto projektu:'
180
+ project_proposal: 'Návrhy zahrnuté do tohoto projektu:'
159
181
  index:
160
182
  confirmed_orders_count: Počet hlasů
161
183
  total_budget: Celkový rozpočet