decidim-budgets 0.28.0.rc5 → 0.28.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/budgets/base_cell.rb +1 -1
- data/app/cells/decidim/budgets/budget_list_item/show.erb +1 -1
- data/app/controllers/decidim/budgets/admin/projects_controller.rb +3 -2
- data/app/controllers/decidim/budgets/line_items_controller.rb +15 -9
- data/app/helpers/decidim/budgets/projects_helper.rb +1 -1
- data/app/packs/src/decidim/budgets/exit_handler.js +1 -1
- data/app/views/decidim/budgets/admin/budgets/edit.html.erb +2 -2
- data/app/views/decidim/budgets/admin/budgets/index.html.erb +8 -4
- data/app/views/decidim/budgets/admin/budgets/new.html.erb +2 -2
- data/app/views/decidim/budgets/admin/projects/_project-tr.html.erb +6 -4
- data/app/views/decidim/budgets/admin/projects/edit.html.erb +3 -3
- data/app/views/decidim/budgets/admin/projects/index.html.erb +8 -6
- data/app/views/decidim/budgets/admin/projects/new.html.erb +3 -3
- data/app/views/decidim/budgets/admin/proposals_imports/new.html.erb +2 -2
- data/config/locales/ar.yml +7 -0
- data/config/locales/ca.yml +4 -1
- data/config/locales/cs.yml +3 -0
- data/config/locales/de.yml +5 -2
- data/config/locales/en.yml +3 -0
- data/config/locales/es-MX.yml +3 -0
- data/config/locales/es-PY.yml +3 -0
- data/config/locales/es.yml +4 -1
- data/config/locales/eu.yml +3 -0
- data/config/locales/fi-plain.yml +3 -0
- data/config/locales/fi.yml +3 -0
- data/config/locales/fr-CA.yml +6 -0
- data/config/locales/fr.yml +6 -0
- data/config/locales/he-IL.yml +1 -0
- data/config/locales/hu.yml +12 -0
- data/config/locales/ja.yml +6 -0
- data/config/locales/ko.yml +57 -0
- data/config/locales/pl.yml +151 -0
- data/config/locales/pt-BR.yml +70 -0
- data/config/locales/ru.yml +3 -0
- data/config/locales/sk.yml +3 -0
- data/config/locales/sq-AL.yml +50 -0
- data/config/locales/uk.yml +2 -0
- data/decidim-budgets.gemspec +41 -0
- data/lib/decidim/budgets/test/factories.rb +29 -14
- data/lib/decidim/budgets/version.rb +1 -1
- metadata +22 -21
- data/config/environment.rb +0 -3
data/config/locales/pl.yml
CHANGED
@@ -14,8 +14,11 @@ pl:
|
|
14
14
|
decidim_scope_id: Zakres
|
15
15
|
description: Opis
|
16
16
|
proposal_ids: Powiązane propozycje
|
17
|
+
proposals: Propozycje
|
17
18
|
selected: Wybrane do implementacji
|
18
19
|
title: Tytuł
|
20
|
+
proposals_import:
|
21
|
+
scope_id: Zakres
|
19
22
|
activerecord:
|
20
23
|
models:
|
21
24
|
decidim/budgets/project:
|
@@ -24,6 +27,18 @@ pl:
|
|
24
27
|
many: Projektów
|
25
28
|
other: Projektów
|
26
29
|
decidim:
|
30
|
+
admin:
|
31
|
+
filters:
|
32
|
+
projects:
|
33
|
+
category_id_eq:
|
34
|
+
label: Kategoria
|
35
|
+
scope_id_eq:
|
36
|
+
label: Zakres
|
37
|
+
selected_at_null:
|
38
|
+
label: Wybrane
|
39
|
+
values:
|
40
|
+
'false': Wybrane do wykonania
|
41
|
+
'true': Nie wybrano do implementacji
|
27
42
|
budgets:
|
28
43
|
actions:
|
29
44
|
attachment_collections: Foldery
|
@@ -33,10 +48,19 @@ pl:
|
|
33
48
|
edit: Edytuj
|
34
49
|
edit_projects: Zarządzaj budżetem
|
35
50
|
import: Importuj propozycje do projektów
|
51
|
+
new_budget: Nowy budżet
|
52
|
+
new_project: Nowy projekt
|
36
53
|
preview: Podgląd
|
54
|
+
send_voting_reminders: Wyślij przypomnienia o głosowaniu
|
37
55
|
title: Działania
|
38
56
|
admin:
|
39
57
|
budgets:
|
58
|
+
create:
|
59
|
+
invalid: Podczas tworzenia tego budżetu wystąpił błąd.
|
60
|
+
success: Budżet został utworzony.
|
61
|
+
destroy:
|
62
|
+
invalid: Wystąpił błąd podczas usuwania budżetu.
|
63
|
+
success: Budżet został usunięty.
|
40
64
|
edit:
|
41
65
|
title: Edytuj budżet
|
42
66
|
update: Aktualizuj budżet
|
@@ -49,6 +73,9 @@ pl:
|
|
49
73
|
new:
|
50
74
|
create: Utwórz budżet
|
51
75
|
title: Nowy budżet
|
76
|
+
update:
|
77
|
+
invalid: Podczas aktualizowania budżetu wystąpił błąd.
|
78
|
+
success: Budżet został zaktualizowany.
|
52
79
|
exports:
|
53
80
|
projects: Projekty
|
54
81
|
models:
|
@@ -57,23 +84,77 @@ pl:
|
|
57
84
|
project:
|
58
85
|
name: Projekt
|
59
86
|
projects:
|
87
|
+
create:
|
88
|
+
invalid: Podczas tworzenia tego projektu wystąpił błąd.
|
89
|
+
success: Projekt został utworzony.
|
90
|
+
destroy:
|
91
|
+
success: Projekt został usunięty.
|
60
92
|
edit:
|
61
93
|
title: Edytuj projekt
|
62
94
|
update: Aktualizuj
|
63
95
|
index:
|
96
|
+
actions: Działania
|
97
|
+
cancel: Anuluj
|
98
|
+
change_budget: Zmień budżet
|
99
|
+
change_category: Zmień kategorię
|
100
|
+
change_scope: Zmień zakres
|
64
101
|
change_selected: Zmień wybrany status
|
102
|
+
deselect_implementation: Odznacz ze wdrożenia
|
65
103
|
finished_orders: Ukończone głosowania
|
66
104
|
pending_orders: Głosowania oczekujące
|
105
|
+
select_for_implementation: Zaznacz do wdrożenia
|
67
106
|
selected: Wybrano
|
107
|
+
selected_options:
|
108
|
+
'no': 'Nie'
|
109
|
+
'yes': 'Tak'
|
68
110
|
title: Projekty
|
111
|
+
update: Aktualizuj
|
112
|
+
update_budget_button: Aktualizuj budżet projektu
|
113
|
+
update_scope_button: Aktualizuj zakres
|
69
114
|
new:
|
70
115
|
create: Utwórz
|
71
116
|
title: Nowy projekt
|
117
|
+
update:
|
118
|
+
invalid: Podczas aktualizacji tego projektu wystąpił błąd.
|
119
|
+
success: Zaktualizowano projekt.
|
120
|
+
update_budget:
|
121
|
+
invalid: 'Te projekty są już w tym samym budżecie lub ich budżety są większe niż maksymalny dozwolony: %{projects}.'
|
122
|
+
select_a_project: Proszę wybrać projekt.
|
123
|
+
success: 'Projekty zaktualizowane do budżetu o nazwie %{subject_name}: %{projects}.'
|
124
|
+
update_category:
|
125
|
+
invalid: 'Te projekty już miały kategorię %{subject_name}: %{projects}.'
|
126
|
+
select_a_category: Proszę wybrać kategorię.
|
127
|
+
select_a_project: Proszę wybrać projekt.
|
128
|
+
success: 'Projekty zostały zaktualizowane do kategorii %{subject_name}: %{projects}.'
|
129
|
+
update_scope:
|
130
|
+
invalid: 'Te projekty już miały zakres %{subject_name}: %{projects}.'
|
131
|
+
select_a_project: Proszę wybrać projekt.
|
132
|
+
select_a_scope: Proszę wybrać zakres.
|
133
|
+
success: 'Projekty zostały zaktualizowane do zakresu o nazwie %{subject_name}: %{projects}.'
|
134
|
+
update_selected:
|
135
|
+
invalid:
|
136
|
+
selected: 'Te projekty zostały już wybrane do wdrożenia: %{projects}.'
|
137
|
+
unselected: 'Te projekty zostały już odznaczone od wdrożenia: %{projects}.'
|
138
|
+
select_a_project: Proszę wybrać projekt.
|
139
|
+
select_a_selection: Proszę wybrać stan wdrożenia.
|
140
|
+
success:
|
141
|
+
selected: 'Te projekty zostały pomyślnie wybrane do wdrożenia: %{projects}.'
|
142
|
+
unselected: 'Te projekty zostały pomyślnie odznaczone od wdrożenia: %{projects}.'
|
72
143
|
proposals_imports:
|
144
|
+
create:
|
145
|
+
invalid: Wystąpił błąd podczas importowania propozycji do projektów.
|
146
|
+
success: "%{number} propozycji pomyślnie zaimportowano do projektów."
|
73
147
|
new:
|
74
148
|
create: Importuj propozycje do projektów
|
149
|
+
default_budget: Domyślny budżet
|
150
|
+
import_all_accepted_proposals: Importuj wszystkie zaakceptowane propozycje
|
75
151
|
no_components: W tej przestrzeni partycypacyjnej nie ma innych komponentów do zaimportowania propozycji jako projektów.
|
152
|
+
origin_component_id: Źródłowy komponent
|
76
153
|
select_component: Wybierz komponent
|
154
|
+
title: Importuj propozycje do projektów
|
155
|
+
reminders:
|
156
|
+
orders:
|
157
|
+
description: Użytkownicy otrzymają e-mail z linkami do budżetów tam, gdzie mają oczekujące zlecenie.
|
77
158
|
admin_log:
|
78
159
|
budget:
|
79
160
|
create: "%{user_name} utworzył(a) budżet %{resource_name} w przestrzeni %{space_name}"
|
@@ -89,13 +170,24 @@ pl:
|
|
89
170
|
continue: Dalej
|
90
171
|
more_information: Więcej informacji
|
91
172
|
budgets_list:
|
173
|
+
budgets: Budżety
|
92
174
|
cancel_order:
|
93
175
|
more_than_one: usuń swój głos na %{name} i zacznij od nowa
|
94
176
|
only_one: usuń głos i zacznij od nowa.
|
177
|
+
empty: Nie ma jeszcze żadnych budżetów
|
178
|
+
finished_message: Zakończyłeś proces głosowania. Dziękujemy za udział!
|
95
179
|
highlighted_cta: Głosuj na %{name}
|
180
|
+
if_change_opinion: W przypadku zmiany zdania można
|
96
181
|
progress: Zakończ głosowanie
|
182
|
+
remove_vote: Usuń głos
|
97
183
|
show: Zobacz projekty
|
184
|
+
vote: Głos
|
185
|
+
voted_budgets: Budżety poddane pod głosowanie
|
186
|
+
voted_on: Zagłosowano na %{links}.
|
187
|
+
last_activity:
|
188
|
+
new_vote_at: Głosowanie w budżecie na
|
98
189
|
limit_announcement:
|
190
|
+
cant_vote: Nie możesz zagłosować na ten budżet. <a href="%{landing_path}">Spróbuj wybrać inny budżet</a>.
|
99
191
|
limit_reached: 'Masz aktywne głosy: %{links}. Aby zagłosować na ten budżet, musisz <a href="%{landing_path}">usunąć swój głos i zacząć od nowa</a>.'
|
100
192
|
models:
|
101
193
|
budget:
|
@@ -105,6 +197,8 @@ pl:
|
|
105
197
|
total_budget: Całkowity budżet
|
106
198
|
project:
|
107
199
|
fields:
|
200
|
+
category: Kategoria
|
201
|
+
id: Identyfikator
|
108
202
|
title: Tytuł
|
109
203
|
order_summary_mailer:
|
110
204
|
order_summary:
|
@@ -121,21 +215,32 @@ pl:
|
|
121
215
|
title: Potwierdź głosowanie
|
122
216
|
budget_excess:
|
123
217
|
budget_excess:
|
218
|
+
description: Ten projekt przekracza maksymalny budżet i nie można go dodać. Jeśli chcesz, możesz usunąć wybrany projekt, aby móc zagłosować ponownie zgodnie ze swoimi preferencjami.
|
124
219
|
title: Przekroczono maksymalny budżet
|
220
|
+
description: Ten projekt przekracza maksymalny budżet i nie można go dodać. Jeśli chcesz, możesz usunąć wybrany projekt, aby móc zagłosować ponownie zgodnie ze swoimi preferencjami.
|
125
221
|
ok: ok
|
126
222
|
projects_excess:
|
223
|
+
description: Ten projekt przekracza maksymalną ilość projektów i nie można go dodać. Jeśli chcesz, możesz usunąć wybrany projekt, aby móc zagłosować ponownie zgodnie ze swoimi preferencjami.
|
127
224
|
title: Maksymalna liczba projektów została przekroczona
|
128
225
|
budget_summary:
|
129
226
|
are_you_sure: Czy na pewno chcesz anulować swój głos?
|
130
227
|
cancel_order: usuń głos i zacznij od nowa
|
131
228
|
checked_out:
|
229
|
+
description: Już głosowałeś/aś na budżet. Jeśli zmieniłeś/aś zdanie, możesz usunąć swój głos.
|
132
230
|
title: Ukończono głosowanie dot. budżetu
|
231
|
+
vote: Budżet poddany pod głosowanie
|
133
232
|
count:
|
134
233
|
projects_count:
|
135
234
|
one: 1 projekt
|
136
235
|
few: "%{count} projekty"
|
137
236
|
many: "%{count} projektów"
|
138
237
|
other: "%{count} projektów"
|
238
|
+
empty: Nie ma jeszcze żadnych projektów
|
239
|
+
exit_modal:
|
240
|
+
cancel: Powrót do głosowania
|
241
|
+
exit: Wyjdź z głosowania
|
242
|
+
message: Twój głos nie został zarejestrowany, ponieważ nie ukończyłeś/aś jeszcze procesu głosowania. Czy na pewno chcesz zakończyć głosowanie?
|
243
|
+
title: Jeszcze nie głosowałeś/aś
|
139
244
|
filters:
|
140
245
|
category: Kategoria
|
141
246
|
scope: Zakres
|
@@ -145,6 +250,22 @@ pl:
|
|
145
250
|
all: Wszystkie
|
146
251
|
not_selected: Nie wybrano
|
147
252
|
selected: Wybrano
|
253
|
+
order_progress:
|
254
|
+
assigned: Przypisany
|
255
|
+
budget: Budżet
|
256
|
+
dynamic_help:
|
257
|
+
keep_adding_projects: Kontynuuj dodawanie projektów
|
258
|
+
minimum_reached: Osiągnąłeś/aś minimum, aby móc głosować
|
259
|
+
start_adding_projects: Zacznij dodawać projekty
|
260
|
+
minimum: Minimum
|
261
|
+
minimum_projects_rule:
|
262
|
+
description: Wybierz co najmniej %{minimum_number} projektów i zagłosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
|
263
|
+
projects_rule:
|
264
|
+
description: Wybierz co najmniej %{minimum_number} i maksymalnie %{maximum_number} projektów i głosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
|
265
|
+
projects_rule_maximum_only:
|
266
|
+
description: Wybierz do %{maximum_number} projektów i głosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
|
267
|
+
vote_threshold_percent_rule:
|
268
|
+
description: Przypisz co najmniej %{minimum_budget} do projektów i głosuj zgodnie ze swoimi preferencjami w celu zdefiniowania budżetu.
|
148
269
|
orders:
|
149
270
|
highest_cost: Najwyższy koszt
|
150
271
|
label: Uporządkuj projekty według
|
@@ -153,18 +274,34 @@ pl:
|
|
153
274
|
random: Kolejność losowa
|
154
275
|
selected: Wybrano
|
155
276
|
project:
|
277
|
+
add: Dodaj projekt %{resource_name} do swojego głosu.
|
278
|
+
remove: Usuń projekt %{resource_name} ze swojego głosu.
|
156
279
|
selected: Wybrano
|
157
280
|
votes:
|
158
281
|
one: głos
|
159
282
|
few: głosów
|
160
283
|
many: głosów
|
161
284
|
other: głosów
|
285
|
+
you_voted: Zagłosowałeś/aś na to
|
162
286
|
project_budget_button:
|
163
287
|
add: Dodaj do swojego głosu
|
288
|
+
add_descriptive: Dodaj projekt %{resource_name} do swojego głosu.
|
164
289
|
added: Dodano do Twojego głosu
|
290
|
+
added_descriptive: Projekt %{resource_name} został dodany do Twojego głosu.
|
291
|
+
project_filter:
|
292
|
+
added: Dodano
|
293
|
+
all: Wszystkie
|
165
294
|
projects_for: Projekty dla %{name}
|
295
|
+
select_projects: Wybierz projekty
|
166
296
|
show:
|
167
297
|
budget: Budżet
|
298
|
+
prompt: Wybierz budżet
|
299
|
+
vote_reminder_mailer:
|
300
|
+
vote_reminder:
|
301
|
+
email_budgets: 'Obszary, w których masz niedokończone głosowanie:'
|
302
|
+
email_intro: Rozpocząłeś(aś) głosowanie w budżecie partycypacyjnym, ale nie ukończyłeś(aś) go.
|
303
|
+
email_link: Przejdź do kontynuowania głosowania
|
304
|
+
email_outro: Pamiętaj, aby zakończyć głosowanie. Aby głosować, musisz najpierw wybrać jedną lub więcej propozycji, nad którymi chcesz głosować, a następnie potwierdzić swój głos za pomocą przycisku "Głosuj".
|
168
305
|
components:
|
169
306
|
budgets:
|
170
307
|
actions:
|
@@ -176,6 +313,11 @@ pl:
|
|
176
313
|
announcement: Ogłoszenie
|
177
314
|
comments_enabled: Komentarze włączone
|
178
315
|
comments_max_length: Maksymalna długość komentarzy (Pozostaw 0 dla wartości domyślnej)
|
316
|
+
form:
|
317
|
+
errors:
|
318
|
+
budget_voting_rule_only_one: Może być włączona tylko jedna reguła głosowania.
|
319
|
+
budget_voting_rule_required: Wymagana jest jedna reguła głosowania.
|
320
|
+
geocoding_enabled: Włączono geokodowanie
|
179
321
|
landing_page_content: Strona główna budżetów
|
180
322
|
more_information_modal: Więcej informacji
|
181
323
|
projects_per_page: Projektów na stronie
|
@@ -186,6 +328,7 @@ pl:
|
|
186
328
|
total_budget: Całkowity budżet
|
187
329
|
vote_minimum_budget_projects_number: Minimalna liczba projektów, na które można głosować
|
188
330
|
vote_rule_minimum_budget_projects_enabled: 'Włącz regułę: minimalna liczba projektów, na które można głosować'
|
331
|
+
vote_rule_selected_projects_enabled: 'Aktywuj zasadę: Minimalna liczba projektów, na które można głosować'
|
189
332
|
vote_rule_threshold_percent_enabled: 'Włącz regułę: minimalny procent budżetu'
|
190
333
|
vote_selected_projects_maximum: Maksymalna liczba wybranych projektów
|
191
334
|
vote_selected_projects_minimum: Minimalna liczba wybranych projektów
|
@@ -215,6 +358,14 @@ pl:
|
|
215
358
|
email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po kliknięciu w poprzedni link.
|
216
359
|
email_subject: Budżet %{resource_title} jest teraz aktywny w %{participatory_space_title}.
|
217
360
|
notification_title: Budżet <a href="%{resource_path}">%{resource_title}</a> jest teraz aktywny w %{participatory_space_title}.
|
361
|
+
orders:
|
362
|
+
checkout:
|
363
|
+
error: Podczas przetwarzania Twojego głosu wystąpił błąd.
|
364
|
+
success_html: <p>Twój głos został zaakceptowany.</p> <p class="text-sm font-normal">Możesz zobaczyć <a class="text-secondary underline" href="%{rest_of_budgets_link}">pozostałe budżety</a>.</p>
|
365
|
+
success_no_left_budgets_html: Twój głos został przyjęty.
|
366
|
+
destroy:
|
367
|
+
error: Podczas anulowania Twojego głosu wystąpił błąd.
|
368
|
+
success: Twój głos został anulowany.
|
218
369
|
resource_links:
|
219
370
|
included_proposals:
|
220
371
|
project_proposal: Propozycje zawarte w tym projekcie
|
data/config/locales/pt-BR.yml
CHANGED
@@ -21,6 +21,9 @@ pt-BR:
|
|
21
21
|
scope_id: Escopo
|
22
22
|
activerecord:
|
23
23
|
models:
|
24
|
+
decidim/budgets/budget:
|
25
|
+
one: Orçamento
|
26
|
+
other: Orçamentos
|
24
27
|
decidim/budgets/project:
|
25
28
|
one: Projeto
|
26
29
|
other: Projetos
|
@@ -46,6 +49,8 @@ pt-BR:
|
|
46
49
|
edit: Editar
|
47
50
|
edit_projects: Gerenciar projetos
|
48
51
|
import: Importar propostas para os projetos
|
52
|
+
new_budget: Novo orçamento
|
53
|
+
new_project: Novo projeto
|
49
54
|
preview: Pré-visualização
|
50
55
|
send_voting_reminders: Enviar lembretes de votação
|
51
56
|
title: Ações
|
@@ -91,21 +96,63 @@ pt-BR:
|
|
91
96
|
index:
|
92
97
|
actions: Ações
|
93
98
|
cancel: Cancelar
|
99
|
+
change_budget: Alterar orçamento
|
94
100
|
change_category: Mudar categoria
|
95
101
|
change_scope: Mudar escopo
|
96
102
|
change_selected: Alterar estado selecionado
|
103
|
+
deselect_implementation: Desselecionar da implementação
|
97
104
|
finished_orders: Votos finais
|
98
105
|
pending_orders: Votações pendentes
|
106
|
+
select_for_implementation: Selecionado para implementação
|
99
107
|
selected: Selecionado
|
108
|
+
selected_options:
|
109
|
+
'no': 'Não'
|
110
|
+
'yes': 'Sim'
|
100
111
|
title: Projetos
|
112
|
+
update: Atualizar
|
113
|
+
update_budget_button: Atualizar orçamento do projeto
|
114
|
+
update_scope_button: Atualizar escopo
|
101
115
|
new:
|
102
116
|
create: Criar
|
103
117
|
title: Novo projeto
|
118
|
+
update:
|
119
|
+
invalid: Houve um problema ao atualizar este projeto.
|
120
|
+
success: Projeto atualizado com sucesso.
|
121
|
+
update_budget:
|
122
|
+
invalid: 'Esses projetos já estão no mesmo orçamento ou seus orçamentos são mais que o máximo permitido: %{projects}.'
|
123
|
+
select_a_project: Por favor, selecione um projeto.
|
124
|
+
update_category:
|
125
|
+
invalid: 'Estes projetos já tinham a categoria %{subject_name}: %{projects}.'
|
126
|
+
select_a_category: Por favor, selecione uma categoria.
|
127
|
+
select_a_project: Por favor, selecione um projeto.
|
128
|
+
success: 'Projetos atualizados com sucesso para a categoria %{subject_name}: %{projects}.'
|
129
|
+
update_scope:
|
130
|
+
invalid: 'Estes projetos já tinham o escopo %{subject_name}: %{projects}.'
|
131
|
+
select_a_project: Por favor, selecione um projeto.
|
132
|
+
select_a_scope: Por favor, selecione um escopo.
|
133
|
+
success: 'Projetos atualizados com sucesso no scopo %{subject_name}: %{projects}.'
|
134
|
+
update_selected:
|
135
|
+
invalid:
|
136
|
+
selected: 'Estes projetos já foram selecionados para a implementação: %{projects}.'
|
137
|
+
unselected: 'Estes projetos já foram desselecionados da implementação: %{projects}.'
|
138
|
+
select_a_project: Por favor, selecione um projeto.
|
139
|
+
select_a_selection: Por favor, selecione um estado de implementação.
|
140
|
+
success:
|
141
|
+
selected: 'Estes projetos foram selecionados com sucesso para a implementação: %{projects}.'
|
142
|
+
unselected: 'Estes projetos foram desselecionados da implementação com sucesso: %{projects}.'
|
104
143
|
proposals_imports:
|
105
144
|
new:
|
106
145
|
create: Importar propostas para projetos
|
146
|
+
default_budget: Orçamento padrão
|
107
147
|
no_components: Não há outros componentes da proposta neste espaço participativo para importar as propostas para projetos.
|
148
|
+
origin_component_id: Componente de origem
|
108
149
|
select_component: Selecione um componente
|
150
|
+
reminders:
|
151
|
+
orders:
|
152
|
+
description: Os usuários receberão um e-mail com links para os orçamentos em que tenham pedido pendente.
|
153
|
+
title:
|
154
|
+
one: Você está prestes a enviar um lembrete por email para o usuário %{count}
|
155
|
+
other: Você está prestes a enviar um lembrete por email para %{count} usuários
|
109
156
|
admin_log:
|
110
157
|
budget:
|
111
158
|
create: "%{user_name} criou o orçamento %{resource_name} no espaço %{space_name}"
|
@@ -125,6 +172,9 @@ pt-BR:
|
|
125
172
|
more_than_one: exclua seu voto em %{name} e comece de novo
|
126
173
|
only_one: exclua seu voto e comece novamente.
|
127
174
|
highlighted_cta: Votar em %{name}
|
175
|
+
vote: Voto
|
176
|
+
last_activity:
|
177
|
+
new_vote_at: Nova votação sobre orçamentação em
|
128
178
|
limit_announcement:
|
129
179
|
limit_reached: Você tem votos ativos em %{links}. Para votar neste orçamento você deve <a href="%{landing_path}">excluir seu voto e começar do zero</a>.
|
130
180
|
models:
|
@@ -151,9 +201,12 @@ pt-BR:
|
|
151
201
|
title: Confirmar votação
|
152
202
|
budget_excess:
|
153
203
|
budget_excess:
|
204
|
+
description: Este projecto excede o orçamento máximo e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou, a fim de poder votar novamente de acordo com suas preferências.
|
154
205
|
title: O orçamento máximo excedeu
|
206
|
+
description: Este projecto excede o orçamento máximo e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou, a fim de poder votar novamente de acordo com suas preferências.
|
155
207
|
ok: OK
|
156
208
|
projects_excess:
|
209
|
+
description: Este projeto excede o número máximo de projetos e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou, a fim de poder votar novamente de acordo com suas preferências.
|
157
210
|
title: Máximo de projetos excedido
|
158
211
|
budget_summary:
|
159
212
|
are_you_sure: Deseja mesmo cancelar o seu voto?
|
@@ -164,6 +217,10 @@ pt-BR:
|
|
164
217
|
projects_count:
|
165
218
|
one: 1 projeto
|
166
219
|
other: "%{count} projetos"
|
220
|
+
exit_modal:
|
221
|
+
cancel: Voltar à votação
|
222
|
+
message: Seu voto não foi registrado porque você ainda não concluiu o processo de votação. Tem certeza que deseja sair da votação?
|
223
|
+
title: Você ainda não votou
|
167
224
|
filters:
|
168
225
|
category: Categoria
|
169
226
|
scope: Âmbito
|
@@ -185,15 +242,26 @@ pt-BR:
|
|
185
242
|
votes:
|
186
243
|
one: voto
|
187
244
|
other: votos
|
245
|
+
you_voted: Você votou nisto
|
188
246
|
project_budget_button:
|
189
247
|
add: Adicione ao seu voto
|
190
248
|
added: Adicionado ao seu voto
|
191
249
|
projects_for: Projetos para %{name}
|
192
250
|
show:
|
193
251
|
budget: Orçamento
|
252
|
+
vote_reminder_mailer:
|
253
|
+
vote_reminder:
|
254
|
+
email_budgets: 'Áreas onde você tem uma votação inacabada:'
|
255
|
+
email_intro: Você iniciou a votação sobre o orçamento participativo, mas não a concluíu.
|
256
|
+
email_link: Ir para continuar a votação
|
257
|
+
email_outro: Por favor, lembre-se de concluir a votação. Para votar, primeiro selecione a proposta ou as propostas que deseja votar e, em seguida, confirme o seu voto com o botão "Votar".
|
258
|
+
email_subject:
|
259
|
+
one: Você tem um voto inacabado na votação do orçamento participativo
|
260
|
+
other: Você tem votos inacabados na votação do orçamento participativo
|
194
261
|
components:
|
195
262
|
budgets:
|
196
263
|
actions:
|
264
|
+
comment: Comentar
|
197
265
|
vote: Voto
|
198
266
|
name: Orçamentos
|
199
267
|
settings:
|
@@ -201,6 +269,7 @@ pt-BR:
|
|
201
269
|
announcement: Anúncio
|
202
270
|
comments_enabled: Comentários ativados
|
203
271
|
comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão)
|
272
|
+
geocoding_enabled: Geocoding habilitado
|
204
273
|
landing_page_content: Página inicial dos orçamentos
|
205
274
|
more_information_modal: Modal de mais informação
|
206
275
|
projects_per_page: Projetos por página
|
@@ -211,6 +280,7 @@ pt-BR:
|
|
211
280
|
total_budget: Orçamento total
|
212
281
|
vote_minimum_budget_projects_number: Número mínimo de projetos para votar
|
213
282
|
vote_rule_minimum_budget_projects_enabled: 'Habilitar regra: Número mínimo de projetos a serem votados em'
|
283
|
+
vote_rule_selected_projects_enabled: 'Habilitar regra: Número mínimo e máximo de projetos a serem votados'
|
214
284
|
vote_rule_threshold_percent_enabled: 'Ativar regra: Porcentagem mínima do orçamento'
|
215
285
|
vote_selected_projects_maximum: Quantidade máxima de projetos a serem selecionados
|
216
286
|
vote_selected_projects_minimum: Quantidade mínima de projetos a serem selecionados
|
data/config/locales/ru.yml
CHANGED
data/config/locales/sk.yml
CHANGED
data/config/locales/sq-AL.yml
CHANGED
@@ -1 +1,51 @@
|
|
1
|
+
---
|
1
2
|
sq:
|
3
|
+
activemodel:
|
4
|
+
attributes:
|
5
|
+
budget:
|
6
|
+
decidim_scope_id: Fushëveprimi
|
7
|
+
description: Përshkrimi
|
8
|
+
title: Titulli
|
9
|
+
total_budget: Buxheti total
|
10
|
+
weight: Rendit pozicionet
|
11
|
+
project:
|
12
|
+
budget_amount: Shuma buxhetore
|
13
|
+
decidim_category_id: Kategori
|
14
|
+
decidim_scope_id: Fushëveprim
|
15
|
+
description: Përshkrimi
|
16
|
+
proposal_ids: Propozime të ngjashme
|
17
|
+
proposals: Propozimet
|
18
|
+
selected: Përzgjedhur për zbatim
|
19
|
+
title: Titulli
|
20
|
+
proposals_import:
|
21
|
+
scope_id: Fushëveprim
|
22
|
+
activerecord:
|
23
|
+
models:
|
24
|
+
decidim/budgets/project:
|
25
|
+
one: Projekt
|
26
|
+
other: Projektet
|
27
|
+
decidim:
|
28
|
+
admin:
|
29
|
+
filters:
|
30
|
+
projects:
|
31
|
+
category_id_eq:
|
32
|
+
label: Kategori
|
33
|
+
scope_id_eq:
|
34
|
+
label: Qëllimi
|
35
|
+
selected_at_null:
|
36
|
+
label: E përzgjedhur
|
37
|
+
values:
|
38
|
+
'false': Përzgjedhur për zbatim
|
39
|
+
'true': Nuk është përzgjedhur për zbatim
|
40
|
+
budgets:
|
41
|
+
actions:
|
42
|
+
attachment_collections: Dosjet
|
43
|
+
attachments: Bashkëngjitjet
|
44
|
+
confirm_destroy: A je i sigurt që do ta fshish këtë projekt?
|
45
|
+
destroy: Fshi
|
46
|
+
edit: Përpuno
|
47
|
+
edit_projects: Menaxho projektet
|
48
|
+
import: Importo propozimet ne projekte
|
49
|
+
new_budget: Buxhet i ri
|
50
|
+
new_project: Projekt i ri
|
51
|
+
preview: Pamje paraprake
|
data/config/locales/uk.yml
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
4
|
+
|
5
|
+
# Maintain your gem's version:
|
6
|
+
require "decidim/budgets/version"
|
7
|
+
|
8
|
+
# Describe your gem and declare its dependencies:
|
9
|
+
Gem::Specification.new do |s|
|
10
|
+
s.version = Decidim::Budgets.version
|
11
|
+
s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
|
12
|
+
s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
|
13
|
+
s.license = "AGPL-3.0"
|
14
|
+
s.homepage = "https://decidim.org"
|
15
|
+
s.metadata = {
|
16
|
+
"bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
|
17
|
+
"documentation_uri" => "https://docs.decidim.org/",
|
18
|
+
"funding_uri" => "https://opencollective.com/decidim",
|
19
|
+
"homepage_uri" => "https://decidim.org",
|
20
|
+
"source_code_uri" => "https://github.com/decidim/decidim"
|
21
|
+
}
|
22
|
+
s.required_ruby_version = "~> 3.1.0"
|
23
|
+
|
24
|
+
s.name = "decidim-budgets"
|
25
|
+
s.summary = "Decidim budgets module"
|
26
|
+
s.description = "A budgets component for decidim's participatory spaces."
|
27
|
+
|
28
|
+
s.files = Dir.chdir(__dir__) do
|
29
|
+
`git ls-files -z`.split("\x0").select do |f|
|
30
|
+
(File.expand_path(f) == __FILE__) ||
|
31
|
+
f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
s.add_dependency "decidim-comments", Decidim::Budgets.version
|
36
|
+
s.add_dependency "decidim-core", Decidim::Budgets.version
|
37
|
+
|
38
|
+
s.add_development_dependency "decidim-admin", Decidim::Budgets.version
|
39
|
+
s.add_development_dependency "decidim-dev", Decidim::Budgets.version
|
40
|
+
s.add_development_dependency "decidim-proposals", Decidim::Budgets.version
|
41
|
+
end
|
@@ -9,9 +9,12 @@ require "decidim/participatory_processes/test/factories"
|
|
9
9
|
|
10
10
|
FactoryBot.define do
|
11
11
|
factory :budgets_component, parent: :component do
|
12
|
-
|
12
|
+
transient do
|
13
|
+
skip_injection { false }
|
14
|
+
end
|
15
|
+
name { generate_component_name(participatory_space.organization.available_locales, :budgets, skip_injection:) }
|
13
16
|
manifest_name { :budgets }
|
14
|
-
participatory_space { create(:participatory_process, :with_steps, organization:) }
|
17
|
+
participatory_space { create(:participatory_process, :with_steps, skip_injection:, organization:) }
|
15
18
|
|
16
19
|
trait :with_geocoding_enabled do
|
17
20
|
settings do
|
@@ -110,10 +113,13 @@ FactoryBot.define do
|
|
110
113
|
end
|
111
114
|
|
112
115
|
factory :budget, class: "Decidim::Budgets::Budget" do
|
113
|
-
|
114
|
-
|
116
|
+
transient do
|
117
|
+
skip_injection { false }
|
118
|
+
end
|
119
|
+
title { generate_localized_title(:budget_title, skip_injection:) }
|
120
|
+
description { generate_localized_description(:budget_description, skip_injection:) }
|
115
121
|
total_budget { 100_000_000 }
|
116
|
-
component { create(:budgets_component) }
|
122
|
+
component { create(:budgets_component, skip_injection:) }
|
117
123
|
|
118
124
|
trait :with_projects do
|
119
125
|
transient do
|
@@ -121,19 +127,22 @@ FactoryBot.define do
|
|
121
127
|
end
|
122
128
|
|
123
129
|
after(:create) do |budget, evaluator|
|
124
|
-
create_list(:project, evaluator.projects_number, budget:)
|
130
|
+
create_list(:project, evaluator.projects_number, skip_injection: evaluator.skip_injection, budget:)
|
125
131
|
end
|
126
132
|
end
|
127
133
|
end
|
128
134
|
|
129
135
|
factory :project, class: "Decidim::Budgets::Project" do
|
130
|
-
|
131
|
-
|
136
|
+
transient do
|
137
|
+
skip_injection { false }
|
138
|
+
end
|
139
|
+
title { generate_localized_title(:project_title, skip_injection:) }
|
140
|
+
description { generate_localized_description(:project_description, skip_injection:) }
|
132
141
|
address { "#{Faker::Address.street_name}, #{Faker::Address.city}" }
|
133
142
|
latitude { Faker::Address.latitude }
|
134
143
|
longitude { Faker::Address.longitude }
|
135
144
|
budget_amount { Faker::Number.number(digits: 8) }
|
136
|
-
budget { create(:budget) }
|
145
|
+
budget { create(:budget, skip_injection:) }
|
137
146
|
|
138
147
|
trait :selected do
|
139
148
|
selected_at { Time.current }
|
@@ -145,14 +154,17 @@ FactoryBot.define do
|
|
145
154
|
end
|
146
155
|
|
147
156
|
after :create do |project, evaluator|
|
148
|
-
project.attachments = create_list(:attachment, evaluator.photos_number, :with_image, attached_to: project)
|
157
|
+
project.attachments = create_list(:attachment, evaluator.photos_number, :with_image, attached_to: project, skip_injection: evaluator.skip_injection)
|
149
158
|
end
|
150
159
|
end
|
151
160
|
end
|
152
161
|
|
153
162
|
factory :order, class: "Decidim::Budgets::Order" do
|
154
|
-
|
155
|
-
|
163
|
+
transient do
|
164
|
+
skip_injection { false }
|
165
|
+
end
|
166
|
+
budget { create(:budget, skip_injection:) }
|
167
|
+
user { create(:user, organization: component.organization, skip_injection:) }
|
156
168
|
|
157
169
|
trait :with_projects do
|
158
170
|
transient do
|
@@ -161,14 +173,17 @@ FactoryBot.define do
|
|
161
173
|
|
162
174
|
after(:create) do |order, evaluator|
|
163
175
|
project_budget = (order.maximum_budget / evaluator.projects_number).to_i
|
164
|
-
order.projects << create_list(:project, evaluator.projects_number, budget_amount: project_budget, budget: order.budget)
|
176
|
+
order.projects << create_list(:project, evaluator.projects_number, budget_amount: project_budget, budget: order.budget, skip_injection: evaluator.skip_injection)
|
165
177
|
order.save!
|
166
178
|
end
|
167
179
|
end
|
168
180
|
end
|
169
181
|
|
170
182
|
factory :line_item, class: "Decidim::Budgets::LineItem" do
|
183
|
+
transient do
|
184
|
+
skip_injection { false }
|
185
|
+
end
|
171
186
|
order
|
172
|
-
project { create(:project, budget: order.budget) }
|
187
|
+
project { create(:project, budget: order.budget, skip_injection:) }
|
173
188
|
end
|
174
189
|
end
|