decidim-proposals 0.14.4 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -0
  3. data/app/assets/images/decidim/gamification/badges/accepted_proposals.svg +194 -104
  4. data/app/assets/images/decidim/gamification/badges/proposals.svg +192 -108
  5. data/app/assets/javascripts/decidim/proposals/admin/proposals.es6 +25 -20
  6. data/app/cells/decidim/proposals/proposal_activity_cell.rb +19 -0
  7. data/app/commands/decidim/proposals/admin/answer_proposal.rb +6 -2
  8. data/app/commands/decidim/proposals/admin/create_proposal.rb +4 -4
  9. data/app/commands/decidim/proposals/admin/import_participatory_text.rb +49 -0
  10. data/app/commands/decidim/proposals/admin/import_proposals.rb +7 -21
  11. data/app/commands/decidim/proposals/admin/merge_proposals.rb +68 -0
  12. data/app/commands/decidim/proposals/admin/publish_participatory_text.rb +65 -0
  13. data/app/commands/decidim/proposals/admin/split_proposals.rb +67 -0
  14. data/app/commands/decidim/proposals/admin/update_proposal.rb +67 -0
  15. data/app/commands/decidim/proposals/create_collaborative_draft.rb +19 -14
  16. data/app/commands/decidim/proposals/create_proposal.rb +4 -2
  17. data/app/commands/decidim/proposals/endorse_proposal.rb +5 -1
  18. data/app/commands/decidim/proposals/publish_proposal.rb +15 -3
  19. data/app/commands/decidim/proposals/unvote_proposal.rb +34 -3
  20. data/app/commands/decidim/proposals/vote_proposal.rb +32 -2
  21. data/app/controllers/decidim/proposals/admin/participatory_texts_controller.rb +62 -0
  22. data/app/controllers/decidim/proposals/admin/proposals_controller.rb +28 -1
  23. data/app/controllers/decidim/proposals/admin/proposals_merges_controller.rb +27 -0
  24. data/app/controllers/decidim/proposals/admin/proposals_splits_controller.rb +27 -0
  25. data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +0 -1
  26. data/app/controllers/decidim/proposals/proposal_endorsements_controller.rb +6 -2
  27. data/app/controllers/decidim/proposals/proposal_votes_controller.rb +15 -0
  28. data/app/controllers/decidim/proposals/proposals_controller.rb +1 -1
  29. data/app/forms/decidim/proposals/admin/import_participatory_text_form.rb +28 -0
  30. data/app/forms/decidim/proposals/admin/preview_participatory_text_form.rb +21 -0
  31. data/app/forms/decidim/proposals/admin/proposal_form.rb +4 -1
  32. data/app/forms/decidim/proposals/admin/proposals_fork_form.rb +57 -0
  33. data/app/forms/decidim/proposals/admin/proposals_merge_form.rb +13 -0
  34. data/app/forms/decidim/proposals/admin/proposals_split_form.rb +12 -0
  35. data/app/helpers/decidim/proposals/application_helper.rb +23 -0
  36. data/app/helpers/decidim/proposals/map_helper.rb +1 -1
  37. data/app/helpers/decidim/proposals/participatory_texts_helper.rb +18 -0
  38. data/app/helpers/decidim/proposals/proposal_endorsements_helper.rb +1 -1
  39. data/app/helpers/decidim/proposals/proposal_wizard_helper.rb +2 -1
  40. data/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb +3 -4
  41. data/app/models/decidim/proposals/participatory_text.rb +13 -0
  42. data/app/models/decidim/proposals/proposal.rb +31 -9
  43. data/app/models/decidim/proposals/proposal_vote.rb +21 -1
  44. data/app/permissions/decidim/proposals/admin/permissions.rb +30 -0
  45. data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +5 -1
  46. data/app/presenters/decidim/proposals/log/resource_presenter.rb +18 -0
  47. data/app/presenters/decidim/proposals/official_author_presenter.rb +4 -0
  48. data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +29 -0
  49. data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +53 -0
  50. data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +57 -0
  51. data/app/services/decidim/proposals/proposal_builder.rb +72 -0
  52. data/app/services/decidim/proposals/proposal_search.rb +2 -2
  53. data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +13 -0
  54. data/app/views/decidim/proposals/admin/participatory_texts/_bulk-actions.html.erb +1 -0
  55. data/app/views/decidim/proposals/admin/participatory_texts/index.html.erb +43 -0
  56. data/app/views/decidim/proposals/admin/participatory_texts/new_import.html.erb +39 -0
  57. data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +7 -2
  58. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +4 -0
  59. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +36 -0
  60. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb +15 -0
  61. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb +15 -0
  62. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_split.html.erb +15 -0
  63. data/app/views/decidim/proposals/admin/proposals/edit.html.erb +7 -0
  64. data/app/views/decidim/proposals/admin/proposals/index.html.erb +2 -2
  65. data/app/views/decidim/proposals/collaborative_drafts/compare.html.erb +2 -2
  66. data/app/views/decidim/proposals/collaborative_drafts/complete.html.erb +1 -1
  67. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
  68. data/app/views/decidim/proposals/proposal_endorsements/_identity.html.erb +5 -1
  69. data/app/views/decidim/proposals/proposal_endorsements/update_buttons_and_counters.js.erb +1 -1
  70. data/app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb +13 -4
  71. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +2 -2
  72. data/app/views/decidim/proposals/proposals/_endorsement_identities_cabin.html.erb +1 -1
  73. data/app/views/decidim/proposals/proposals/_proposal_similar.html.erb +1 -1
  74. data/app/views/decidim/proposals/proposals/_voting_rules.html.erb +15 -4
  75. data/app/views/decidim/proposals/proposals/new.html.erb +1 -1
  76. data/config/locales/ca.yml +72 -4
  77. data/config/locales/de.yml +71 -3
  78. data/config/locales/en.yml +71 -3
  79. data/config/locales/es-PY.yml +71 -3
  80. data/config/locales/es.yml +73 -5
  81. data/config/locales/eu.yml +71 -3
  82. data/config/locales/fi.yml +81 -13
  83. data/config/locales/fr.yml +71 -3
  84. data/config/locales/gl.yml +71 -3
  85. data/config/locales/hu.yml +71 -3
  86. data/config/locales/it.yml +71 -3
  87. data/config/locales/nl.yml +71 -3
  88. data/config/locales/pl.yml +71 -3
  89. data/config/locales/pt-BR.yml +72 -4
  90. data/config/locales/pt.yml +71 -3
  91. data/config/locales/sv.yml +71 -3
  92. data/db/migrate/20180927111721_create_participatory_texts.rb +13 -0
  93. data/db/migrate/20180930125321_add_participatory_text_level_to_proposals.rb +7 -0
  94. data/db/migrate/20180930125321_add_position_to_proposals.rb +7 -0
  95. data/db/migrate/20181003074440_fix_user_groups_ids_in_proposals_endorsements.rb +16 -0
  96. data/db/migrate/20181010114622_add_temporary_votes.rb +9 -0
  97. data/db/migrate/20181016132225_add_organization_as_author.rb +13 -0
  98. data/db/migrate/20181017084221_make_author_polymorhpic_for_proposal_endorsements.rb +31 -0
  99. data/lib/decidim/content_parsers/proposal_parser.rb +9 -3
  100. data/lib/decidim/proposals.rb +3 -1
  101. data/lib/decidim/proposals/admin_engine.rb +12 -1
  102. data/lib/decidim/proposals/component.rb +60 -23
  103. data/lib/decidim/proposals/engine.rb +55 -12
  104. data/lib/decidim/proposals/markdown_to_proposals.rb +90 -0
  105. data/lib/decidim/proposals/participatory_text_section.rb +21 -0
  106. data/lib/decidim/proposals/test/factories.rb +35 -7
  107. data/lib/decidim/proposals/version.rb +1 -1
  108. metadata +86 -19
@@ -76,8 +76,10 @@ en:
76
76
  collaborative_drafts_enabled: Collaborative drafts enabled
77
77
  comments_enabled: Comments enabled
78
78
  geocoding_enabled: Geocoding enabled
79
+ minimum_votes_per_user: Minimum votes per user
79
80
  new_proposal_help_text: New proposal help text
80
81
  official_proposals_enabled: Official proposals enabled
82
+ participatory_texts_enabled: Participatory texts enabled
81
83
  proposal_answering_enabled: Proposal answering enabled
82
84
  proposal_edit_before_minutes: Proposals can be edited by authors before this many minutes passes
83
85
  proposal_length: Maximum proposal body length
@@ -188,29 +190,48 @@ en:
188
190
  gamification:
189
191
  badges:
190
192
  accepted_proposals:
193
+ conditions:
194
+ - Choose the participation space of your interest with submission for proposals enabled
195
+ - Try to make proposals that can be carried out. This way they are more likely to be accepted.
196
+ description: This badge is granted when you actively participate with new proposals and these are accepted.
191
197
  description_another: This user has gotten %{score} proposals accepted.
192
198
  description_own: You got %{score} proposals accepted.
193
- explanation: Users get this badge by getting their proposals accepted.
194
199
  name: Accepted proposals
195
200
  next_level_in: Get %{score} more proposals accepted to reach the next level!
196
201
  unearned_another: This user hasn't gotten any proposals accepted yet.
197
202
  unearned_own: You got no proposals accepted yet.
198
203
  proposal_votes:
204
+ conditions:
205
+ - Browse and spend some time reading other people's proposals
206
+ - Give support to the proposals you like or find interesting
207
+ description: This badge is granted when you support other people's proposals.
199
208
  description_another: This user has given support to %{score} proposals.
200
209
  description_own: You have given support to %{score} proposals.
201
- explanation: Users get this badge by giving support to proposals.
202
210
  name: Proposal supports
203
211
  next_level_in: Give support to %{score} more proposals to reach the next level!
204
212
  unearned_another: This user hasn't given support to any proposals yet.
205
213
  unearned_own: You have given support to no proposals yet.
206
214
  proposals:
215
+ conditions:
216
+ - Choose the participation space of your interest with submission for proposals enabled
217
+ - Create a new proposal
218
+ description: This badge is granted when you actively participate with new proposals.
207
219
  description_another: This user has created %{score} proposals.
208
220
  description_own: You have created %{score} proposals.
209
- explanation: Users get this badge by creating proposals.
210
221
  name: Proposals
211
222
  next_level_in: Create %{score} more proposals to reach the next level!
212
223
  unearned_another: This user hasn't created any proposals yet.
213
224
  unearned_own: You have created no proposals yet.
225
+ metrics:
226
+ accepted_proposals:
227
+ object: proposals
228
+ title: Accepted Proposals
229
+ proposals:
230
+ object: proposals
231
+ title: Proposals
232
+ votes:
233
+ object: votes
234
+ title: Votes
214
235
  participatory_processes:
215
236
  participatory_process_groups:
216
237
  highlighted_proposals:
@@ -222,8 +243,10 @@ en:
222
243
  proposals:
223
244
  actions:
224
245
  answer: Answer
246
+ edit_proposal: Edit proposal
225
247
  import: Import from another component
226
248
  new: New proposal
249
+ participatory_texts: Participatory texts
227
250
  private_notes: Private notes
228
251
  title: Actions
229
252
  admin:
@@ -235,6 +258,28 @@ en:
235
258
  models:
236
259
  proposal:
237
260
  name: Proposal
261
+ participatory_texts:
262
+ bulk-actions:
263
+ import_doc: Import document
264
+ import:
265
+ invalid: The form is invalid!
266
+ success: Congratulations, the following sections have been parsed from the imported document, they have been converted to proposals. Now you can review and adjust whatever you need before publishing.
267
+ index:
268
+ info_1: The following sections have been parsed from the imported document, they have been converted to proposals. Now you can review and adjust whatever you need before publishing.
269
+ publish_document: Publish document
270
+ title: PREVIEW PARTICIPATORY TEXT
271
+ new_import:
272
+ bottom_hint: "(You will be able to preview and sort document sections)"
273
+ document_legend: 'Add a document lesser than 2MB, each section until 3 levels deep will be parsed into Proposals. Suported formats are: Markdown'
274
+ title: ADD DOCUMENT
275
+ upload_document: Upload document
276
+ publish:
277
+ invalid: Could not publish proposals
278
+ success: All proposals have been published
279
+ sections:
280
+ article: "<em>Article</em>"
281
+ section: "<em>Section:</em> <strong>%{title}</strong>"
282
+ sub-section: "<em>Subsection:</em> %{title}"
238
283
  proposal_answers:
239
284
  edit:
240
285
  accepted: Accepted
@@ -258,6 +303,9 @@ en:
258
303
  create:
259
304
  invalid: There's been a problem creating this proposal
260
305
  success: Proposal successfully created
306
+ edit:
307
+ title: Update proposal
308
+ update: Update
261
309
  form:
262
310
  attachment_legend: "(Optional) Add an attachment"
263
311
  select_a_category: Select a category
@@ -265,7 +313,12 @@ en:
265
313
  actions: Actions
266
314
  cancel: Cancel
267
315
  change_category: Change category
316
+ merge: Merge into a new one
317
+ merge_button: Merge
318
+ select_component: Select a component
268
319
  selected: selected
320
+ split: Split proposals
321
+ split_button: Split
269
322
  title: Proposals
270
323
  update: Update
271
324
  new:
@@ -285,6 +338,14 @@ en:
285
338
  no_components: There are no other proposal components in this participatory space to import the proposals from.
286
339
  select_component: Please select a component
287
340
  select_states: Check the states of the proposals to import
341
+ proposals_merges:
342
+ create:
343
+ invalid: There was an error merging the selected proposals.
344
+ success: Successfully merged the proposals into a new one.
345
+ proposals_splits:
346
+ create:
347
+ invalid: There was an error spliting the selected proposals.
348
+ success: Successfully splitted the proposals into new ones.
288
349
  shared:
289
350
  info_proposal:
290
351
  body: Body
@@ -295,6 +356,7 @@ en:
295
356
  proposal:
296
357
  answer: "%{user_name} answered the %{resource_name} proposal on the %{space_name} space"
297
358
  create: "%{user_name} created the %{resource_name} proposal on the %{space_name} space as an official proposal"
359
+ update: "%{user_name} updated the %{resource_name} official proposal on the %{space_name} space"
298
360
  proposal_note:
299
361
  create: "%{user_name} left a private note on the %{resource_name} proposal on the %{space_name} space"
300
362
  answers:
@@ -423,6 +485,8 @@ en:
423
485
  destroy_draft:
424
486
  error: There's been errors deleting the proposal draft.
425
487
  success: Proposal draft was successfully deleted.
488
+ last_activity:
489
+ new_proposal_at_html: "<span>New proposal at %{link}</span>"
426
490
  models:
427
491
  collaborative_draft:
428
492
  fields:
@@ -571,6 +635,10 @@ en:
571
635
  voting_rules:
572
636
  can_accumulate_supports_beyond_threshold:
573
637
  description: Each proposal can accumulate more than %{limit} supports
638
+ minimum_votes_per_user:
639
+ description: You must distribute a minimum of 3 votes among different proposals.
640
+ given_enough_votes: You've given enough supports.
641
+ supports_remaining: You have to vote %{remaining_votes} more proposals for your votes to be taken into account.
574
642
  proposal_limit:
575
643
  description: You can create up to %{limit} proposals.
576
644
  threshold_per_proposal:
@@ -75,8 +75,10 @@ es-PY:
75
75
  collaborative_drafts_enabled: Habilitar borradores colaborativos
76
76
  comments_enabled: Comentarios habilitados
77
77
  geocoding_enabled: Geocodificación habilitada
78
+ minimum_votes_per_user: Votos mínimos por usuario
78
79
  new_proposal_help_text: Nuevo texto de ayuda de propuesta
79
80
  official_proposals_enabled: Propuestas oficiales habilitadas
81
+ participatory_texts_enabled: Textos participativos habilitados
80
82
  proposal_answering_enabled: Respuesta a propuestas habilitadas
81
83
  proposal_edit_before_minutes: Las propuestas pueden ser editadas por los autores antes de que pasen estos minutos
82
84
  proposal_length: Longitud máxima del cuerpo de la propuesta
@@ -187,29 +189,48 @@ es-PY:
187
189
  gamification:
188
190
  badges:
189
191
  accepted_proposals:
192
+ conditions:
193
+ - Elija el espacio de participación de su interés con la presentación de propuestas habilitada.
194
+ - Intenta hacer propuestas que se puedan realizar. De esta manera es más probable que sean aceptados.
195
+ description: Este distintivo se otorga cuando usted participa activamente con nuevas propuestas y se aceptan.
190
196
  description_another: '%{score} propuestas de este usuario han sido aceptadas.'
191
197
  description_own: '%{score} de tus propuestas han sido aceptadas.'
192
- explanation: Los usuarios obtienen esta insignia al conseguir que se acepten sus propuestas.
193
198
  name: Propuestas aceptadas
194
199
  next_level_in: '¡Consigue que se aprueben %{score} propuestas más para alcanzar el siguiente nivel!'
195
200
  unearned_another: Este usuario aún no ha conseguido ninguna propuesta aceptada.
196
201
  unearned_own: Aún no tienes ninguna propuesta aceptada.
197
202
  proposal_votes:
203
+ conditions:
204
+ - Navega y pasa un tiempo leyendo las propuestas de otras personas.
205
+ - Da soporte a las propuestas que te gusten o encuentres interesantes.
206
+ description: Este distintivo se otorga cuando apoyas las propuestas de otras personas.
198
207
  description_another: Este usuario ha dado soporte a %{score} propuestas.
199
208
  description_own: Has dado soporte a %{score} propuestas.
200
- explanation: Los usuarios obtienen esta insignia dando soporte a las propuestas.
201
209
  name: Apoyos a propuestas
202
210
  next_level_in: '¡Apoya %{score} propuestas más para alcanzar el siguiente nivel!'
203
211
  unearned_another: Este usuario aún no ha dado apoyo a ninguna propuesta.
204
212
  unearned_own: Todavía no has dado apoyo a ninguna propuesta.
205
213
  proposals:
214
+ conditions:
215
+ - Elija el espacio de participación de su interés con la presentación de propuestas habilitada.
216
+ - Crear una nueva propuesta
217
+ description: Este distintivo se otorga cuando participas activamente con nuevas propuestas.
206
218
  description_another: Este usuario ha creado %{score} propuestas.
207
219
  description_own: Has creado %{score} propuestas.
208
- explanation: Los usuarios obtienen esta insignia al crear propuestas.
209
220
  name: Propuestas
210
221
  next_level_in: '¡Crea %{score} propuestas más para alcanzar el siguiente nivel!'
211
222
  unearned_another: Este usuario no ha creado ninguna propuesta todavía.
212
223
  unearned_own: Aún no has creado propuestas.
224
+ metrics:
225
+ accepted_proposals:
226
+ object: propuestas
227
+ title: Propuestas aceptadas
228
+ proposals:
229
+ object: propuestas
230
+ title: Propuestas
231
+ votes:
232
+ object: votos
233
+ title: Votos
213
234
  participatory_processes:
214
235
  participatory_process_groups:
215
236
  highlighted_proposals:
@@ -221,8 +242,10 @@ es-PY:
221
242
  proposals:
222
243
  actions:
223
244
  answer: Respuesta
245
+ edit_proposal: Editar propuesta
224
246
  import: Importar desde otro componente
225
247
  new: Nueva propuesta
248
+ participatory_texts: Textos participativos
226
249
  private_notes: Notas privadas
227
250
  title: Acciones
228
251
  admin:
@@ -234,6 +257,28 @@ es-PY:
234
257
  models:
235
258
  proposal:
236
259
  name: Propuesta
260
+ participatory_texts:
261
+ bulk-actions:
262
+ import_doc: Importar documento
263
+ import:
264
+ invalid: El formulario no es válido!
265
+ success: Enhorabuena, las siguientes secciones se analizaron en el documento importado y se convirtieron en propuestas. Ahora puedes revisar y ajustar lo que necesites antes de publicar.
266
+ index:
267
+ info_1: Las siguientes secciones se analizaron en el documento importado y se convirtieron en propuestas. Ahora puedes revisar y ajustar lo que necesites antes de publicar.
268
+ publish_document: Publicar documento
269
+ title: PREVIO TEXTO PARTICIPATIVO
270
+ new_import:
271
+ bottom_hint: "(Podrás previsualizar y ordenar las secciones del documento)"
272
+ document_legend: 'Agregue un documento de menos de 2 MB, cada sección hasta 3 niveles de profundidad se analizarán en Propuestas. Los formatos admitidos son: Markdown.'
273
+ title: AÑADIR DOCUMENTO
274
+ upload_document: Subir documento
275
+ publish:
276
+ invalid: No se pudieron publicar propuestas.
277
+ success: Todas las propuestas han sido publicadas.
278
+ sections:
279
+ article: "<em>Artículo</em>"
280
+ section: "<em>Sección:</em> <strong>%{title}</strong>"
281
+ sub-section: "<em>Subsección:</em> %{title}"
237
282
  proposal_answers:
238
283
  edit:
239
284
  accepted: Aceptada
@@ -257,6 +302,9 @@ es-PY:
257
302
  create:
258
303
  invalid: Ha habido un problema al crear esta propuesta
259
304
  success: Propuesta creada correctamente
305
+ edit:
306
+ title: Actualizar propuesta
307
+ update: Actualizar
260
308
  form:
261
309
  attachment_legend: "(Opcional) Añadir un archivo adjunto"
262
310
  select_a_category: Seleccione una categoría
@@ -264,7 +312,12 @@ es-PY:
264
312
  actions: Acciones
265
313
  cancel: Cancelar
266
314
  change_category: Cambiar categoría
315
+ merge: Sumérgete en uno nuevo
316
+ merge_button: Unir
317
+ select_component: Seleccione un componente
267
318
  selected: seleccionado
319
+ split: Propuestas divididas
320
+ split_button: División
268
321
  title: Propuestas
269
322
  update: Actualizar
270
323
  new:
@@ -284,6 +337,14 @@ es-PY:
284
337
  no_components: No hay otros componentes propuesta en este espacio participativo desde el que importar.
285
338
  select_component: Por favor selecciona un componente
286
339
  select_states: Verifique los estados de las propuestas para importar
340
+ proposals_merges:
341
+ create:
342
+ invalid: Se produjo un error al fusionar las propuestas seleccionadas.
343
+ success: Fusionó con éxito las propuestas en una nueva.
344
+ proposals_splits:
345
+ create:
346
+ invalid: Hubo un error dividiendo las propuestas seleccionadas.
347
+ success: Dividió con éxito las propuestas en otras nuevas.
287
348
  shared:
288
349
  info_proposal:
289
350
  body: Cuerpo
@@ -294,6 +355,7 @@ es-PY:
294
355
  proposal:
295
356
  answer: "%{user_name} respondió la propuesta %{resource_name} en el espacio %{space_name}"
296
357
  create: "%{user_name} creó la propuesta %{resource_name} en el espacio %{space_name} como una propuesta oficial"
358
+ update: "%{user_name} actualizó la %{resource_name} propuesta oficial en el espacio %{space_name}"
297
359
  proposal_note:
298
360
  create: "%{user_name} dejó una nota privada sobre la propuesta %{resource_name} en el espacio %{space_name}"
299
361
  answers:
@@ -422,6 +484,8 @@ es-PY:
422
484
  destroy_draft:
423
485
  error: Se han producido errores al eliminar el borrador de la propuesta.
424
486
  success: El borrador de la propuesta fue eliminado con éxito.
487
+ last_activity:
488
+ new_proposal_at_html: "<span>Nueva propuesta en %{link}</span>"
425
489
  models:
426
490
  collaborative_draft:
427
491
  fields:
@@ -570,6 +634,10 @@ es-PY:
570
634
  voting_rules:
571
635
  can_accumulate_supports_beyond_threshold:
572
636
  description: Cada propuesta puede acumular más de %{limit} apoyos
637
+ minimum_votes_per_user:
638
+ description: Debes distribuir un mínimo de 3 votos entre las diferentes propuestas.
639
+ given_enough_votes: Has dado suficientes apoyos.
640
+ supports_remaining: Tienes que votar %{remaining_votes} propuestas más para que tus votos sean tomados en cuenta.
573
641
  proposal_limit:
574
642
  description: Puedes crear hasta %{limit} propuestas.
575
643
  threshold_per_proposal:
@@ -75,8 +75,10 @@ es:
75
75
  collaborative_drafts_enabled: Habilitar borradores colaborativos
76
76
  comments_enabled: Comentarios habilitados
77
77
  geocoding_enabled: Geocodificación habilitada
78
+ minimum_votes_per_user: Votos mínimos por usuario
78
79
  new_proposal_help_text: Texto de ayuda al crear una propuesta
79
80
  official_proposals_enabled: Propuestas oficiales habilitadas
81
+ participatory_texts_enabled: Textos participativos habilitados
80
82
  proposal_answering_enabled: Respuesta a propuestas habilitadas
81
83
  proposal_edit_before_minutes: Las propuestas pueden ser editadas por los autores antes de que pasen estos minutos
82
84
  proposal_length: Longitud máxima del cuerpo de la propuesta
@@ -187,29 +189,48 @@ es:
187
189
  gamification:
188
190
  badges:
189
191
  accepted_proposals:
192
+ conditions:
193
+ - Elige el espacio de participación con la creación de propuestas habilitada de tu interés
194
+ - Intenta hacer propuestas que se puedan realizar. De esta manera es más probable que sean aceptadas.
195
+ description: Este distintivo se otorga cuando participes activamente con nuevas propuestas y estas sean aceptadas.
190
196
  description_another: '%{score} propuestas de este usuario han sido aceptadas.'
191
197
  description_own: '%{score} de tus propuestas han sido aceptadas.'
192
- explanation: Los usuarios obtienen esta insignia al conseguir que se acepten sus propuestas.
193
198
  name: Propuestas aceptadas
194
199
  next_level_in: '¡Consigue que se aprueben %{score} propuestas más para alcanzar el siguiente nivel!'
195
200
  unearned_another: Este usuario aún no ha conseguido ninguna propuesta aceptada.
196
201
  unearned_own: Aún no tienes ninguna propuesta aceptada.
197
202
  proposal_votes:
203
+ conditions:
204
+ - Navega y dedica un tiempo leyendo las propuestas de otras personas
205
+ - Da apoyo a las propuestas con las que estés de acuerdo o encuentres interesantes
206
+ description: Este distintivo se otorga cuando apoyas propuestas de otras personas.
198
207
  description_another: Este usuario ha dado soporte a %{score} propuestas.
199
208
  description_own: Has dado soporte a %{score} propuestas.
200
- explanation: Los usuarios obtienen esta insignia dando soporte a las propuestas.
201
209
  name: Apoyos a propuestas
202
210
  next_level_in: '¡Apoya %{score} propuestas más para alcanzar el siguiente nivel!'
203
211
  unearned_another: Este usuario aún no ha dado apoyo a ninguna propuesta.
204
212
  unearned_own: Todavía no has dado apoyo a ninguna propuesta.
205
213
  proposals:
214
+ conditions:
215
+ - Elige el espacio de participación con la creación de propuestas habilitada que sea de tu interés
216
+ - Crear una nueva propuesta
217
+ description: Este distintivo se otorga cuando participas activamente con nuevas propuestas.
206
218
  description_another: Este usuario ha creado %{score} propuestas.
207
219
  description_own: Has creado %{score} propuestas.
208
- explanation: Los usuarios obtienen esta insignia al crear propuestas.
209
220
  name: Propuestas
210
221
  next_level_in: '¡Crea %{score} propuestas más para alcanzar el siguiente nivel!'
211
222
  unearned_another: Este usuario no ha creado ninguna propuesta todavía.
212
223
  unearned_own: Aún no has creado propuestas.
224
+ metrics:
225
+ accepted_proposals:
226
+ object: propuestas
227
+ title: Propuestas aceptadas
228
+ proposals:
229
+ object: propuestas
230
+ title: Propuestas
231
+ votes:
232
+ object: votos
233
+ title: Votos
213
234
  participatory_processes:
214
235
  participatory_process_groups:
215
236
  highlighted_proposals:
@@ -221,8 +242,10 @@ es:
221
242
  proposals:
222
243
  actions:
223
244
  answer: Respuesta
245
+ edit_proposal: Editar propuesta
224
246
  import: Importar desde otro componente
225
247
  new: Nueva propuesta
248
+ participatory_texts: Textos participativos
226
249
  private_notes: Notas privadas
227
250
  title: Acciones
228
251
  admin:
@@ -234,6 +257,28 @@ es:
234
257
  models:
235
258
  proposal:
236
259
  name: Propuesta
260
+ participatory_texts:
261
+ bulk-actions:
262
+ import_doc: Importar documento
263
+ import:
264
+ invalid: '¡El formulario no es válido!'
265
+ success: Enhorabuena, los párrafos y secciones del documento importado se han convertido correctamente en propuestas. Ahora puedes revisarlas y ajustar las que necesites antes de publicar.
266
+ index:
267
+ info_1: Los párrafos y secciones del documento importado se han convertido correctamente en propuestas. Ahora puedes revisarlas y ajustar las que necesites antes de publicar.
268
+ publish_document: Publicar documento
269
+ title: PREVISUALIZAR TEXTO PARTICIPATIVO
270
+ new_import:
271
+ bottom_hint: "(Podrás previsualizar y ordenar las secciones del documento)"
272
+ document_legend: 'Añade un documento de menos de 2MB, cada sección hasta 3 niveles de profundidad se convertirá en una propuesta. Los formatos admitidos son: Markdown'
273
+ title: AÑADIR DOCUMENTO
274
+ upload_document: Subir documento
275
+ publish:
276
+ invalid: No se pudieron publicar las propuestas
277
+ success: Todas las propuestas han sido publicadas
278
+ sections:
279
+ article: "<em>Artículo</em>"
280
+ section: "<em>Sección:</em> <strong>%{title}</strong>"
281
+ sub-section: "<em>Subsección:</em> %{title}"
237
282
  proposal_answers:
238
283
  edit:
239
284
  accepted: Aceptada
@@ -257,6 +302,9 @@ es:
257
302
  create:
258
303
  invalid: Ha habido un problema al crear esta propuesta
259
304
  success: Propuesta creada correctamente
305
+ edit:
306
+ title: Actualizar propuesta
307
+ update: Actualizar
260
308
  form:
261
309
  attachment_legend: "(Opcional) Añadir un archivo adjunto"
262
310
  select_a_category: Selecciona una categoría
@@ -264,7 +312,12 @@ es:
264
312
  actions: Acciones
265
313
  cancel: Cancelar
266
314
  change_category: Cambiar categoría
315
+ merge: Fusionar en una nueva
316
+ merge_button: Fusionar
317
+ select_component: Selecciona un componente
267
318
  selected: seleccionado
319
+ split: Propuestas divididas
320
+ split_button: Dividir
268
321
  title: Propuestas
269
322
  update: Actualizar
270
323
  new:
@@ -284,6 +337,14 @@ es:
284
337
  no_components: No hay otros componentes propuesta en este espacio participativo desde el que importar.
285
338
  select_component: Por favor selecciona un componente
286
339
  select_states: Verifica los estados de las propuestas para importar
340
+ proposals_merges:
341
+ create:
342
+ invalid: Se produjo un error al fusionar las propuestas seleccionadas.
343
+ success: Las propuestas se fusionaron en una nueva con éxito.
344
+ proposals_splits:
345
+ create:
346
+ invalid: Hubo un error dividiendo las propuestas seleccionadas.
347
+ success: Las propuestas se han dividido en otras nuevas con éxito.
287
348
  shared:
288
349
  info_proposal:
289
350
  body: Cuerpo
@@ -294,6 +355,7 @@ es:
294
355
  proposal:
295
356
  answer: "%{user_name} respondió a la propuesta %{resource_name} en el espacio %{space_name}"
296
357
  create: "%{user_name} creó la propuesta %{resource_name} en el espacio %{space_name} como una propuesta oficial"
358
+ update: "%{user_name} ha actualizado la propuesta oficial %{resource_name} en el espacio %{space_name}"
297
359
  proposal_note:
298
360
  create: "%{user_name} dejó una nota privada sobre la propuesta %{resource_name} en el espacio %{space_name}"
299
361
  answers:
@@ -422,6 +484,8 @@ es:
422
484
  destroy_draft:
423
485
  error: Se han producido errores al eliminar el borrador de la propuesta.
424
486
  success: El borrador de la propuesta fue eliminado con éxito.
487
+ last_activity:
488
+ new_proposal_at_html: "<span>Nueva propuesta en %{link}</span>"
425
489
  models:
426
490
  collaborative_draft:
427
491
  fields:
@@ -570,6 +634,10 @@ es:
570
634
  voting_rules:
571
635
  can_accumulate_supports_beyond_threshold:
572
636
  description: Cada propuesta puede acumular más de %{limit} apoyos
637
+ minimum_votes_per_user:
638
+ description: Debes distribuir un mínimo de 3 apoyos entre las diferentes propuestas.
639
+ given_enough_votes: Has dado suficientes apoyos.
640
+ supports_remaining: Tienes que apoyar %{remaining_votes} propuestas más para que tus apoyos se tengan en cuenta.
573
641
  proposal_limit:
574
642
  description: Puedes crear hasta %{limit} propuestas.
575
643
  threshold_per_proposal:
@@ -618,5 +686,5 @@ es:
618
686
  included_projects:
619
687
  project_result: 'Resultados que aparecen en este proyecto:'
620
688
  included_proposals:
621
- proposal_project: 'Propuesta formulada en estos proyectos:'
622
- proposal_result: 'Propuesta formulada en estos resultados:'
689
+ proposal_project: 'Propuesta vinculada a estos proyectos:'
690
+ proposal_result: 'Propuesta vinculada a estos resultados:'