decidim-budgets 0.27.5 → 0.27.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/budgets/base_cell.rb +1 -1
  3. data/app/cells/decidim/budgets/budget_list_item/show.erb +1 -1
  4. data/app/cells/decidim/budgets/budgets_list/voted.erb +1 -1
  5. data/app/cells/decidim/budgets/project_list_item_cell.rb +1 -1
  6. data/app/controllers/decidim/budgets/admin/projects_controller.rb +3 -2
  7. data/app/controllers/decidim/budgets/line_items_controller.rb +15 -9
  8. data/app/packs/src/decidim/budgets/exit_handler.js +1 -1
  9. data/app/views/decidim/budgets/admin/budgets/index.html.erb +6 -2
  10. data/app/views/decidim/budgets/admin/projects/_project-tr.html.erb +5 -3
  11. data/app/views/decidim/budgets/admin/projects/edit.html.erb +1 -1
  12. data/app/views/decidim/budgets/admin/projects/index.html.erb +4 -2
  13. data/app/views/decidim/budgets/admin/projects/new.html.erb +1 -1
  14. data/config/locales/ar.yml +4 -0
  15. data/config/locales/bg.yml +375 -0
  16. data/config/locales/ca.yml +4 -1
  17. data/config/locales/cs.yml +3 -0
  18. data/config/locales/de.yml +5 -2
  19. data/config/locales/en.yml +3 -0
  20. data/config/locales/es-MX.yml +3 -0
  21. data/config/locales/es-PY.yml +3 -0
  22. data/config/locales/es.yml +5 -2
  23. data/config/locales/eu.yml +3 -0
  24. data/config/locales/fi-plain.yml +3 -0
  25. data/config/locales/fi.yml +3 -0
  26. data/config/locales/fr-CA.yml +3 -0
  27. data/config/locales/fr.yml +3 -0
  28. data/config/locales/he-IL.yml +1 -0
  29. data/config/locales/hu.yml +13 -0
  30. data/config/locales/ja.yml +3 -0
  31. data/config/locales/ko.yml +54 -0
  32. data/config/locales/pl.yml +30 -0
  33. data/config/locales/pt-BR.yml +55 -0
  34. data/config/locales/sq-AL.yml +52 -0
  35. data/decidim-budgets.gemspec +34 -0
  36. data/lib/decidim/budgets/test/factories.rb +29 -14
  37. data/lib/decidim/budgets/version.rb +1 -1
  38. metadata +17 -16
  39. data/config/environment.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 257b5dde9cad92b81d46ba630f5e41d46c121fe89dede4002b25b4774024ada5
4
- data.tar.gz: 66234f625386f23c2c0a5022dd93f8909d67bd710ed227a2a5d892228cd2454c
3
+ metadata.gz: 30f0a453ff710c15200d204b73e94f7171f50f3ac8334d47fbe4f9766d7ee62d
4
+ data.tar.gz: ad14859d654a64aff46d0ebde07d6ca32975c3ee6c4771e962b6ffd5b44df374
5
5
  SHA512:
6
- metadata.gz: 0c8eea26600f7a223335cc9d4c63cda87f70838d0d7b77643b40ffadf933b7775e8d49d69c4cdfb0a26ac1c8042389e0552c9a1696f6aa869151307dfbaf8ec8
7
- data.tar.gz: f0c49b787d65b4ad6c18d7c3497187e51c5006a2b93a4db83aa375f3ab4d64abdf23dd169e7891fa1720e979fa3f27fcaf881a4b8e872b81465a254b51520f33
6
+ metadata.gz: 986c6702274e3c6ab264679b7b37c13a54f5523359ab534cf162031d5e503bef1f86cfa8ae64f8fad5ffb8edeb0f523e50f742f028554e62767596810bd16654
7
+ data.tar.gz: 00ffd1b292c5f88baa1511f15f4308e93b8c08df15ac29cff4d51ad6742e96e5000efc0831988463cef1bf11285699eba21a3a3ad9e40626e1a8ba6c8779a6d6
@@ -13,7 +13,7 @@ module Decidim
13
13
  delegate :settings, to: :current_component
14
14
 
15
15
  def budgets_link_list(budgets)
16
- budgets.map { |budget| link_to(translated_attribute(budget.title), resource_locator(budget).path) }
16
+ budgets.map { |budget| link_to(decidim_escape_translated(budget.title), resource_locator(budget).path) }
17
17
  .to_sentence
18
18
  .html_safe
19
19
  end
@@ -2,7 +2,7 @@
2
2
  <div class="budget-list__text flex-horizontal">
3
3
  <%= link_to budget_path(budget), class: link_class do %>
4
4
  <h3 class="card--list__heading">
5
- <%= translated_attribute(title) %>
5
+ <%= decidim_escape_translated(title) %>
6
6
  </h3>
7
7
  <% end %>
8
8
 
@@ -32,7 +32,7 @@
32
32
  <% voted.each do |budget| %>
33
33
  <li>
34
34
  <%= link_to(
35
- t("cancel_order.more_than_one", scope: i18n_scope, name: translated_attribute(budget.title)),
35
+ t("cancel_order.more_than_one", scope: i18n_scope, name: decidim_escape_translated(budget.title)),
36
36
  budget_order_path(budget),
37
37
  method: :delete,
38
38
  class: "cancel-order",
@@ -21,7 +21,7 @@ module Decidim
21
21
  end
22
22
 
23
23
  def resource_title
24
- translated_attribute model.title
24
+ decidim_escape_translated model.title
25
25
  end
26
26
 
27
27
  def resource_added?
@@ -19,7 +19,8 @@ module Decidim
19
19
  def new
20
20
  enforce_permission_to :create, :project
21
21
  @form = form(ProjectForm).from_params(
22
- attachment: form(AttachmentForm).instance
22
+ { attachment: form(AttachmentForm).instance },
23
+ budget: budget
23
24
  )
24
25
  end
25
26
 
@@ -43,7 +44,7 @@ module Decidim
43
44
 
44
45
  def edit
45
46
  enforce_permission_to :update, :project, project: project
46
- @form = form(ProjectForm).from_model(project)
47
+ @form = form(ProjectForm).from_model(project, budget: budget)
47
48
  @form.attachment = form(AttachmentForm).instance
48
49
  end
49
50
 
@@ -12,15 +12,21 @@ module Decidim
12
12
  enforce_permission_to :vote, :project, project: project, budget: budget, workflow: current_workflow
13
13
 
14
14
  respond_to do |format|
15
- AddLineItem.call(persisted_current_order, project, current_user) do
16
- on(:ok) do |order|
17
- self.current_order = order
18
- format.html { redirect_back(fallback_location: budget_path(budget)) }
19
- format.js { render "update_budget" }
20
- end
21
-
22
- on(:invalid) do
23
- format.js { render "update_budget", status: :unprocessable_entity }
15
+ # Note that the user-specific lock here is important in order to
16
+ # prevent multiple simultaneous processes on different machines from
17
+ # creating multiple orders for the same user in case the button is
18
+ # pressed multiple times.
19
+ current_user.with_lock do
20
+ AddLineItem.call(persisted_current_order, project, current_user) do
21
+ on(:ok) do |order|
22
+ self.current_order = order
23
+ format.html { redirect_back(fallback_location: budget_path(budget)) }
24
+ format.js { render "update_budget" }
25
+ end
26
+
27
+ on(:invalid) do
28
+ format.js { render "update_budget", status: :unprocessable_entity }
29
+ end
24
30
  end
25
31
  end
26
32
  end
@@ -65,7 +65,7 @@ $(() => {
65
65
  }
66
66
 
67
67
  $exitLink.attr("href", url);
68
- $exitLink.html(exitLinkText);
68
+ $exitLink.text(exitLinkText);
69
69
  $exitNotification.foundation("open");
70
70
  };
71
71
 
@@ -27,7 +27,9 @@
27
27
  <th><%= t("models.budget.fields.name", scope: "decidim.budgets") %></th>
28
28
  <th><%= t("models.budget.fields.total_budget", scope: "decidim.budgets") %></th>
29
29
  <th><%= t("models.budget.fields.projects_count", scope: "decidim.budgets") %></th>
30
- <%= th_resource_scope_label %>
30
+ <% if current_component.has_subscopes? %>
31
+ <%= th_resource_scope_label %>
32
+ <% end %>
31
33
  <th class="actions"><%= t("actions.title", scope: "decidim.budgets") %></th>
32
34
  </tr>
33
35
  </thead>
@@ -43,7 +45,9 @@
43
45
  <td>
44
46
  <%= link_to budget.projects.count, budget_projects_path(budget) %>
45
47
  </td>
46
- <%= td_resource_scope_for(budget.scope) %>
48
+ <% if current_component.has_subscopes? %>
49
+ <%= td_resource_scope_for(budget.scope) %>
50
+ <% end %>
47
51
  <td class="table-list__actions">
48
52
  <%= icon_link_to "eye", resource_locator(budget).path, t("actions.preview", scope: "decidim.budgets"), class: "action-icon--preview", target: :blank %>
49
53
 
@@ -13,15 +13,17 @@
13
13
  <%= translated_attribute project.category.name %>
14
14
  <% end %>
15
15
  </td>
16
- <%= td_resource_scope_for(project.scope) %>
16
+ <% if current_component.has_subscopes? %>
17
+ <%= td_resource_scope_for(project.scope) %>
18
+ <% end %>
17
19
  <td>
18
20
  <%= project.confirmed_orders_count %>
19
21
  </td>
20
22
  <td>
21
23
  <% if project.selected? %>
22
- <%= content_tag :strong, t("projects.index.selected", scope: "decidim.budgets.admin"), class: "text-success" %>
24
+ <%= content_tag :strong, t("yes", scope: "decidim.budgets.admin.projects.index.selected_options"), class: "label" %>
23
25
  <% else %>
24
- <%= content_tag :span, "x", class: "text-muted" %>
26
+ <%= content_tag :strong, t("no", scope: "decidim.budgets.admin.projects.index.selected_options"), class: "label secondary" %>
25
27
  <% end %>
26
28
  </td>
27
29
  <td class="table-list__actions">
@@ -1,6 +1,6 @@
1
1
  <% add_decidim_page_title("#{translated_attribute(budget.title)} - #{t(".title")}") %>
2
2
  <%= decidim_form_for([budget, @form], html: { class: "form edit_project" }) do |f| %>
3
- <%= render partial: "form", object: f, locals: { title: "#{translated_attribute(budget.title)} &gt; #{t(".title")}" } %>
3
+ <%= render partial: "form", object: f, locals: { title: "#{decidim_escape_translated(budget.title)} &gt; #{t(".title")}" } %>
4
4
 
5
5
  <div class="button--double form-general-submit">
6
6
  <%= f.submit t(".update") %>
@@ -3,7 +3,7 @@
3
3
  <div class="card-divider">
4
4
  <h2 class="card-title flex--sbc">
5
5
  <div>
6
- <%= link_to translated_attribute(budget.title), budgets_path %> &gt;
6
+ <%= link_to decidim_escape_translated(budget.title).html_safe, budgets_path %> &gt;
7
7
  <%= t(".title") %>
8
8
  <span id="js-selected-resources-count" class="component-counter component-counter--inline" title="<%= t("decidim.budgets.admin.projects.index.selected") %>"></span>
9
9
  </div>
@@ -21,7 +21,9 @@
21
21
  <th><%= sort_link(query, :id, t("models.project.fields.id", scope: "decidim.budgets"), default_order: :desc) %>
22
22
  <th><%= sort_link(query, :title, t("models.project.fields.title", scope: "decidim.budgets")) %></th>
23
23
  <th><%= sort_link(query, :category_name, t("models.project.fields.category", scope: "decidim.budgets") ) %></th>
24
- <%= th_scope_sort_link %>
24
+ <% if current_component.has_subscopes? %>
25
+ <%= th_scope_sort_link %>
26
+ <% end %>
25
27
  <th><%= sort_link(query, :confirmed_orders_count, t("index.confirmed_orders_count")) %></th>
26
28
  <th><%= sort_link(query, :selected, t(".selected")) %></th>
27
29
  <th class="actions"><%= t("actions.title", scope: "decidim.budgets") %></th>
@@ -1,6 +1,6 @@
1
1
  <% add_decidim_page_title("#{translated_attribute(budget.title)} - #{t(".title")}") %>
2
2
  <%= decidim_form_for([budget, @form], html: { class: "form new_project" }) do |f| %>
3
- <%= render partial: "form", object: f, locals: { title: "#{translated_attribute(budget.title)} &gt; #{t(".title")}" } %>
3
+ <%= render partial: "form", object: f, locals: { title: "#{decidim_escape_translated(budget.title)} &gt; #{t(".title")}" } %>
4
4
 
5
5
  <div class="button--double form-general-submit">
6
6
  <%= f.submit t(".create") %>
@@ -66,7 +66,11 @@ ar:
66
66
  change_category: تغيير الفئة
67
67
  finished_orders: الانتهاء من الأصوات
68
68
  pending_orders: في انتظار الأصوات
69
+ selected_options:
70
+ 'no': 'لا'
71
+ 'yes': 'نعم'
69
72
  title: مشاريع
73
+ update: تحديث
70
74
  new:
71
75
  create: إنشاء
72
76
  title: مشروع جديد
@@ -2,12 +2,387 @@
2
2
  bg:
3
3
  activemodel:
4
4
  attributes:
5
+ budget:
6
+ decidim_scope_id: Обхват
7
+ description: Описание
8
+ title: Заглавие
9
+ total_budget: Общ бюджет
10
+ weight: Подредба на позиция
5
11
  project:
12
+ budget_amount: Бюджетна сума
6
13
  decidim_category_id: Категория
7
14
  decidim_scope_id: Сфера
15
+ description: Описание
16
+ proposal_ids: Свързани предложения
17
+ proposals: Предложения
18
+ selected: Избран за изпълнение
19
+ title: Заглавие
20
+ proposals_import:
21
+ scope_id: Обхват
22
+ activerecord:
23
+ models:
24
+ decidim/budgets/budget:
25
+ one: Бюджет
26
+ other: Бюджети
27
+ decidim/budgets/project:
28
+ one: Проект
29
+ other: Проекти
8
30
  decidim:
31
+ admin:
32
+ filters:
33
+ projects:
34
+ category_id_eq:
35
+ label: Категория
36
+ scope_id_eq:
37
+ label: Обхват
38
+ selected_at_null:
39
+ label: Избрани
40
+ values:
41
+ 'false': Избран за изпълнение
42
+ 'true': Не избран за изпълнение
9
43
  budgets:
44
+ actions:
45
+ attachment_collections: Папки
46
+ attachments: Прикачени файлове
47
+ confirm_destroy: Сигурни ли сте, че искате да изтриете този проект?
48
+ destroy: Изтрий
49
+ edit: Редактирай
50
+ edit_projects: Обедини проекти
51
+ import: Импортиране на предложения в проекти
52
+ new: Ново %{name}
53
+ preview: Преглед
54
+ send_voting_reminders: Изпращайте напомняния за гласуване
55
+ title: Активности
56
+ admin:
57
+ budgets:
58
+ create:
59
+ invalid: Възникна проблем при създаването на този бюджет
60
+ success: Бюджетът беше създаден успешно
61
+ destroy:
62
+ invalid: Възникна проблем при изтриването на този бюджет
63
+ success: Бюджетът беше изтрит успешно
64
+ edit:
65
+ title: Редактиране на бюджет
66
+ update: Актуализиране на бюджета
67
+ index:
68
+ finished_orders: Приключили гласувания
69
+ pending_orders: Предстоящи гласувания
70
+ title: Бюджети
71
+ users_with_finished_orders: Потребители с приключили гласувания
72
+ users_with_pending_orders: Потребители с чакащи гласувания
73
+ new:
74
+ create: Създаване на бюджет
75
+ title: Нов бюджет
76
+ update:
77
+ invalid: Възникна проблем при актуализирането на този бюджет
78
+ success: Бюджетът беше актуализиран успешно
79
+ exports:
80
+ projects: Проекти
81
+ models:
82
+ budget:
83
+ name: Бюджет
84
+ project:
85
+ name: Проект
86
+ projects:
87
+ create:
88
+ invalid: Възникна проблем при създаването на този проект
89
+ success: Проектът беше създаден успешно
90
+ destroy:
91
+ success: Проектът беше изтрит успешно
92
+ edit:
93
+ title: Редактиране на проект
94
+ update: Актуализация
95
+ index:
96
+ actions: Активности
97
+ cancel: Отказ
98
+ change_category: Промяна на категория
99
+ change_scope: Промяна на обхвата
100
+ change_selected: Промяна на избраното състояние
101
+ deselect_implementation: Премахване на избора от внедряване
102
+ finished_orders: Приключили гласувания
103
+ pending_orders: Предстоящи гласувания
104
+ select_for_implementation: Избрано за внедряване
105
+ selected: Избрани
106
+ selected_options:
107
+ 'no': 'Не'
108
+ 'yes': 'Да'
109
+ title: Проекти
110
+ update: Актуализация
111
+ update_scope_button: Актуализиране на обхвата
112
+ new:
113
+ create: Създаване
114
+ title: Нов проект
115
+ update:
116
+ invalid: Възникна проблем при актуализирането на този проект
117
+ success: Проектът беше актуализиран успешно
118
+ update_category:
119
+ invalid: 'Тези проекти вече имат категория %{subject_name}: %{projects}.'
120
+ select_a_category: Моля, изберете категория
121
+ select_a_project: Моля, изберете проект
122
+ success: 'Проектите са актуализирани успешно до категорията %{subject_name}: %{projects}.'
123
+ update_scope:
124
+ invalid: 'Тези проекти вече са имали %{subject_name} обхват: %{projects}.'
125
+ select_a_project: Моля, изберете проект
126
+ select_a_scope: Моля, изберете обхват
127
+ success: 'Проектите са актуализирани успешно до %{subject_name} обхват: %{projects}.'
128
+ update_selected:
129
+ invalid:
130
+ selected: 'Тези проекти вече бяха селектирани за внедряване: %{projects}.'
131
+ unselected: 'Тези проекти вече бяха премахнати от селекцията за внедряване: %{projects}.'
132
+ select_a_project: Моля, изберете проект
133
+ select_a_selection: Моля, изберете състояние на внедряване
134
+ success:
135
+ selected: 'Тези проекти бяха успешно селектирани за внедряване: %{projects}.'
136
+ unselected: 'Тези проекти бяха успешно премахнати от селекцията за внедряване: %{projects}.'
137
+ proposals_imports:
138
+ create:
139
+ invalid: Възникна проблем при импортирането на предложенията в проектите
140
+ success: "%{number} предложения бяха импортирани успешно в проекти"
141
+ new:
142
+ create: Импортиране на предложения в проекти
143
+ default_budget: Бюджет по подразбиране
144
+ import_all_accepted_proposals: Импортиране на всички приети предложения
145
+ no_components: Няма други компоненти на предложения в това пространство за участие за импортиране на предложенията в проекти.
146
+ origin_component_id: Компонент за произход
147
+ select_component: Моля, изберете компонент
148
+ title: Импортиране на предложения
149
+ reminders:
150
+ orders:
151
+ description: Потребителите ще получат имейл с връзки към бюджетите, където имат чакащи заявки.
152
+ title:
153
+ one: На път сте да изпратите напомняне по имейл до %{count} потребител
154
+ other: На път сте да изпратите напомняне по имейл до %{count} потребители
155
+ admin_log:
156
+ budget:
157
+ create: "%{user_name} създаде бюджета %{resource_name} в пространството %{space_name}"
158
+ delete: "%{user_name} изтри бюджета %{resource_name} в пространството %{space_name}"
159
+ update: "%{user_name} актуализира бюджета %{resource_name} в пространството %{space_name}"
160
+ project:
161
+ create: "%{user_name} създаде проекта %{resource_name} в пространството %{space_name}"
162
+ delete: "%{user_name} изтри проекта %{resource_name} в пространството %{space_name}"
163
+ update: "%{user_name} актуализира проекта %{resource_name} в пространството %{space_name}"
164
+ budget:
165
+ view: Преглед на всички бюджетни проекти
166
+ budget_information_modal:
167
+ back_to: Назад към %{component_name}
168
+ close_modal: Затвори прозореца
169
+ continue: Продължи
170
+ more_information: Още информация
171
+ budget_list_item:
172
+ voting_finished: Вие гласувахте този бюджет
173
+ voting_started: Вие започнахте да гласувате за този бюджет
174
+ budgets_list:
175
+ cancel_order:
176
+ more_than_one: да изтриете гласа си за %{name} и да започнете отначало
177
+ only_one: изтрийте гласа си и започнете отначало.
178
+ finished_message: Завършихте процеса на гласуване. Благодарим Ви за участието!
179
+ highlighted_cta: Гласуване за %{name}
180
+ if_change_opinion: Ако сте размислили, имате възможност
181
+ my_budgets: Моите бюджети
182
+ progress: Завършете гласуването
183
+ show: Вижте проектите
184
+ vote: Гласувай
185
+ voted_on: Гласувахте на %{links}
186
+ last_activity:
187
+ new_vote_at_html: "<span>Ново бюджетно гласуване на %{link}</span>"
188
+ limit_announcement:
189
+ cant_vote: Не можете да гласувате за този бюджет. <a href="%{landing_path}">Опитайте с друг бюджет</a>.
190
+ limit_reached: Имате активни гласувания в(ъв) %{links}. За да гласувате за този бюджет, трябва <a href="%{landing_path}">да изтриете гласуването си и да започнете отначало</a>.
10
191
  models:
192
+ budget:
193
+ fields:
194
+ name: Име
195
+ projects_count: Брой проекти
196
+ total_budget: Общ бюджет
11
197
  project:
12
198
  fields:
199
+ category: Категория
200
+ id: ID
13
201
  scope: Сфера
202
+ title: Заглавие
203
+ order_summary_mailer:
204
+ order_summary:
205
+ selected_projects: 'Избраните от Вас проекти са:'
206
+ subject: Гласувахте в пространството за участие %{space_name}
207
+ voted_on_space: Гласувахте за бюджета %{budget_name} за пространството за участие %{space_name}.
208
+ voted_on_space_with_scope: Гласувахте за бюджета %{budget_name} за пространството за участие %{space_name} в(ъв) %{scope_name} (%{scope_type}).
209
+ projects:
210
+ budget_confirm:
211
+ are_you_sure: Ако размислите, може да промените гласа си по-късно.
212
+ cancel: Отказ
213
+ confirm: Потвърди
214
+ description: Това са проектите, които сте избрали да са част от бюджета.
215
+ title: Потвърждаване на гласуването
216
+ budget_excess:
217
+ budget_excess:
218
+ description: Този проект надвишава максималния бюджет и не може да бъде добавен. Ако искате, можете да изтриете проект, който вече сте избрали, за да може да се гласува отново, според вашите предпочитания.
219
+ title: Максималният бюджет е надвишен
220
+ close: Затвори
221
+ description: Този проект надвишава максималния бюджет и не може да бъде добавен. Ако искате, можете да изтриете проект, който вече сте избрали, за да може да се гласува отново, според вашите предпочитания.
222
+ ok: ОК
223
+ projects_excess:
224
+ description: Този проект надхвърля максималния брой проекти и не може да бъде добавен. Ако искате, можете да изтриете проект, който вече сте избрали, за да можете да гласувате отново според вашите предпочитания.
225
+ title: Максималният брой проекти е надвишен
226
+ budget_summary:
227
+ are_you_sure: Сигурен ли сте, че искате да отмените гласа си?
228
+ assigned: 'Възложен:'
229
+ cancel_order: изтрийте гласа си и започнете отначало
230
+ checked_out:
231
+ description: Вече сте гласували за бюджета. Ако сте размислили, имате възможност %{cancel_link}.
232
+ title: Гласуването за бюджета приключи
233
+ minimum_projects_rule:
234
+ description: За кои проекти смятате, че трябва да осигурим бюджет? Изберете най-малко %{minimum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.
235
+ instruction: "<li>Изберете поне %{minimum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.</li>"
236
+ projects_rule:
237
+ description: За какви проекти смятате, че трябва да отделим бюджет? Изберете най-малко %{minimum_number}, но не повече от %{maximum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.
238
+ instruction: "<li>Изберете най-малко %{minimum_number}, но не повече от %{maximum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.</li>"
239
+ projects_rule_maximum_only:
240
+ description: За кои проекти смятате, че трябва да осигурим бюджет? Изберете не повече от %{maximum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.
241
+ instruction: "<li>Изберете не повече от %{maximum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.</li>"
242
+ rules:
243
+ title: Бюджетни правила
244
+ title: Вие решавате бюджета
245
+ total_budget: Общ бюджет
246
+ total_projects: Общ брой гласове
247
+ vote_threshold_percent_rule:
248
+ description: За кои проекти смятате, че трябва да осигурим бюджет? Присъеденете най-малко %{minimum_budget} към желаните от Вас проекти и гласувайте, според предпочитанията си за дефиниране на бюджета.
249
+ instruction: "<li>Присъеденете поне %{minimum_budget} към желаните от вас проекти и гласувайте, според предпочитанията си за дефиниране на бюджета.</li>"
250
+ count:
251
+ projects_count:
252
+ one: 1 проект
253
+ other: "%{count} проекти"
254
+ exit_modal:
255
+ cancel: Върнете се към гласуването
256
+ close_modal: Затвори прозореца
257
+ exit: Изход от гласуването
258
+ message: Вашият глас не е регистриран, защото все още не сте завършили процеса на гласуване. Сигурни ли сте, че искате да излезете от гласуването?
259
+ title: Все още не сте гласували
260
+ filters:
261
+ category: Категория
262
+ scope: Обхват
263
+ search: Търсене
264
+ status: Статус
265
+ status_values:
266
+ all: Всички
267
+ not_selected: Не селектирано
268
+ selected: Селектирано
269
+ filters_small_view:
270
+ close_modal: Затвори прозореца
271
+ filter: Филтър
272
+ filter_by: Филтрирай по
273
+ unfold: Разгъване
274
+ index:
275
+ view_project: Преглед на проекта
276
+ order_progress:
277
+ vote: Гласувай
278
+ order_selected_projects:
279
+ remove: Премахни
280
+ selected_projects:
281
+ one: избран проект
282
+ other: избрани проекти
283
+ view: Преглед
284
+ orders:
285
+ highest_cost: Най-висока стойност
286
+ label: Подреждане на проектите по
287
+ lowest_cost: Най-ниска стойност
288
+ most_voted: Най-гласувани
289
+ random: Случаен ред
290
+ selected: Селектирано
291
+ project:
292
+ add: Добавяне на проект %{resource_name} към Вашето гласуване
293
+ remove: Премахване на проекта %{resource_name} от Вашето гласуване
294
+ selected: Селектирано
295
+ view: Преглед
296
+ votes:
297
+ one: глас
298
+ other: гласове
299
+ you_voted: Ти гласува за това
300
+ project_budget_button:
301
+ add: Добавяне към гласуването Ви
302
+ add_descriptive: Добавяне на проект %{resource_name} към Вашето гласуване
303
+ added: Добавено към Вашето гласуване
304
+ added_descriptive: Проектът %{resource_name} е добавен към Вашето гласуване
305
+ projects_for: Проекти за %{name}
306
+ show:
307
+ budget: Бюджет
308
+ view_all_projects: Преглед на всички проекти
309
+ vote_reminder_mailer:
310
+ vote_reminder:
311
+ email_budgets: 'Области, в които имате незавършено гласуване:'
312
+ email_intro: Започнахте гласуването за бюджет на участието, но не сте го завършили.
313
+ email_link: Преминете към продължаване на гласуването
314
+ email_outro: Моля, не забравяйте да завършите гласуването. За да гласувате, първо трябва да изберете предложението или предложенията, за които искате да гласувате и след това да потвърдите гласа си с бутона „Гласувай“.
315
+ email_subject:
316
+ one: Имате незавършено гласуване в гласуването за бюджет на участието
317
+ other: Имате незавършени гласувания в гласуването за бюджет на участието
318
+ components:
319
+ budgets:
320
+ actions:
321
+ comment: Коментар
322
+ vote: Гласувай
323
+ name: Бюджети
324
+ settings:
325
+ global:
326
+ announcement: Обявление
327
+ comments_enabled: Коментарите са активирани
328
+ comments_max_length: Максимална дължина на коментарите (Оставете 0 за стойност по подразбиране)
329
+ form:
330
+ errors:
331
+ budget_voting_rule_only_one: Трябва да бъде активирано само едно правило за гласуване
332
+ budget_voting_rule_required: Изисква се едно правило за гласуване
333
+ geocoding_enabled: Координатите са активирани
334
+ landing_page_content: Целева страница на „Бюджети“
335
+ more_information_modal: Диалогов прозорец за повече информация
336
+ projects_per_page: Проекти на страница
337
+ resources_permissions_enabled: Права за действия могат да се задават за всеки проект
338
+ scope_id: Обхват
339
+ scopes_enabled: Обхватите са активирани
340
+ title: Заглавие
341
+ total_budget: Общ бюджет
342
+ vote_minimum_budget_projects_number: Минимален брой проекти за гласуване
343
+ vote_rule_minimum_budget_projects_enabled: 'Активиране на правило: Минимален брой проекти, за които да се гласува'
344
+ vote_rule_selected_projects_enabled: 'Активиране на правило: Минимален и максимален брой проекти за гласуване'
345
+ vote_rule_threshold_percent_enabled: 'Активиране на правило: Минимален процент на бюджета'
346
+ vote_selected_projects_maximum: Максимален брой проекти за избор
347
+ vote_selected_projects_minimum: Минимален брой проекти за избор
348
+ vote_threshold_percent: Процент на прага на гласовете
349
+ workflow: Работния процес
350
+ workflow_choices:
351
+ all: 'Гласувайте във всички: позволява на участниците да гласуват във всички бюджети.'
352
+ one: 'Гласувайте в един: позволява на участниците да гласуват във всеки бюджет, но само за един.'
353
+ step:
354
+ announcement: Обявление
355
+ comments_blocked: Коментарите са блокирани
356
+ highlighted_heading: Акцентирано заглавие
357
+ landing_page_content: Целева страница на „Бюджети“
358
+ list_heading: Заглавие на списъка
359
+ more_information_modal: Диалогов прозорец за повече информация
360
+ show_votes: Показване на гласовете
361
+ title: Заглавие
362
+ votes: Гласуване
363
+ votes_choices:
364
+ disabled: Гласуването е деактивирано
365
+ enabled: Гласуването е активирано
366
+ finished: Гласуването е приключило
367
+ events:
368
+ budgets:
369
+ budget_published:
370
+ email_intro: 'Бюджетът %{resource_title} вече е активен за %{participatory_space_title}. Можете да го видите от тази страница:'
371
+ email_outro: Получавате това известие, защото следвате %{participatory_space_title}. Може да прекратите известията чрез предходния линк.
372
+ email_subject: Бюджетът %{resource_title} вече е активен за %{participatory_space_title}.
373
+ notification_title: Бюджетът <a href="%{resource_path}">%{resource_title}</a> вече е активен за %{participatory_space_title}.
374
+ orders:
375
+ checkout:
376
+ error: Възникна проблем при обработването на Вашия глас
377
+ success: Вашият глас е приет успешно
378
+ destroy:
379
+ error: Възникна проблем при отмяната на гласа Ви
380
+ success: Вашият глас беше отменен успешно
381
+ resource_links:
382
+ included_proposals:
383
+ project_proposal: Предложения, включени в този проект
384
+ statistics:
385
+ orders_count: Подкрепа
386
+ projects_count: Проекти
387
+ index:
388
+ confirmed_orders_count: Брой гласове
@@ -103,6 +103,9 @@ ca:
103
103
  pending_orders: Vots en procés
104
104
  select_for_implementation: Seleccionat per implementar
105
105
  selected: Seleccionat
106
+ selected_options:
107
+ 'no': 'No'
108
+ 'yes': 'Sí'
106
109
  title: Projectes
107
110
  update: Actualitzar
108
111
  update_scope_button: Actualitzar àmbit
@@ -365,7 +368,7 @@ ca:
365
368
  budgets:
366
369
  budget_published:
367
370
  email_intro: 'Ja està activa la fase %{resource_title} per a %{participatory_space_title}. Pots veure-la des d''aquesta pàgina:'
368
- email_outro: Has rebut aquesta notificació perquè estàs seguint l'espai %{participatory_space_title}. Pots deixar de rebre notificacions a través de l'enllaç anterior.
371
+ email_outro: Has rebut aquesta notificació perquè estàs seguint l'espai "%{participatory_space_title}". Pots deixar de rebre notificacions a través de l'enllaç anterior.
369
372
  email_subject: El component %{resource_title} ja està actiu per %{participatory_space_title}.
370
373
  notification_title: El pressupost <a href="%{resource_path}">%{resource_title}</a> a %{participatory_space_title} ja està actiu.
371
374
  orders:
@@ -107,6 +107,9 @@ cs:
107
107
  pending_orders: Čeká na hlasování
108
108
  select_for_implementation: Vybrat pro implementaci
109
109
  selected: Vybrané
110
+ selected_options:
111
+ 'no': 'Ne'
112
+ 'yes': 'Ano'
110
113
  title: Projekty
111
114
  update: Aktualizovat
112
115
  update_scope_button: Aktualizovat rozsah