decidim-core 0.26.3 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (556) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/cells/decidim/amendable/announcement_cell.rb +3 -8
  4. data/app/cells/decidim/announcement_cell.rb +1 -1
  5. data/app/cells/decidim/author_cell.rb +1 -1
  6. data/app/cells/decidim/content_blocks/cta/show.erb +1 -1
  7. data/app/cells/decidim/content_blocks/footer_sub_hero/show.erb +1 -1
  8. data/app/cells/decidim/content_blocks/hero/show.erb +1 -1
  9. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +4 -4
  10. data/app/cells/decidim/content_blocks/highlighted_elements_cell.rb +1 -1
  11. data/app/cells/decidim/content_blocks/how_to_participate/show.erb +1 -1
  12. data/app/cells/decidim/content_blocks/last_activity/show.erb +1 -1
  13. data/app/cells/decidim/content_blocks/last_activity_cell.rb +3 -3
  14. data/app/cells/decidim/content_blocks/stats_cell.rb +4 -5
  15. data/app/cells/decidim/content_blocks/sub_hero/show.erb +1 -1
  16. data/app/cells/decidim/data_consent/category.erb +64 -0
  17. data/app/cells/decidim/data_consent/dialog.erb +29 -0
  18. data/app/cells/decidim/data_consent/modal.erb +39 -0
  19. data/app/cells/decidim/data_consent/show.erb +3 -0
  20. data/app/cells/decidim/data_consent_cell.rb +21 -0
  21. data/app/cells/decidim/follow_button_cell.rb +5 -7
  22. data/app/cells/decidim/profile_sidebar_cell.rb +1 -1
  23. data/app/cells/decidim/search_results_cell.rb +1 -1
  24. data/app/cells/decidim/tos_page/refuse_btn_modal.erb +1 -1
  25. data/app/cells/decidim/upload_modal/files.erb +52 -0
  26. data/app/cells/decidim/upload_modal/modal.erb +49 -0
  27. data/app/cells/decidim/upload_modal/show.erb +3 -0
  28. data/app/cells/decidim/upload_modal_cell.rb +205 -0
  29. data/app/cells/decidim/user_conversation/reply.erb +1 -1
  30. data/app/cells/decidim/user_conversations/add_conversation_users.erb +5 -3
  31. data/app/cells/decidim/version_cell.rb +2 -13
  32. data/app/cells/decidim/versions_list_cell.rb +2 -13
  33. data/app/cells/decidim/versions_list_item_cell.rb +2 -13
  34. data/app/commands/decidim/accept_group_invitation.rb +1 -1
  35. data/app/commands/decidim/accept_user_group_join_request.rb +1 -1
  36. data/app/commands/decidim/amendable/accept.rb +1 -1
  37. data/app/commands/decidim/amendable/create_draft.rb +1 -1
  38. data/app/commands/decidim/amendable/destroy_draft.rb +1 -1
  39. data/app/commands/decidim/amendable/promote.rb +1 -1
  40. data/app/commands/decidim/amendable/publish_draft.rb +1 -1
  41. data/app/commands/decidim/amendable/reject.rb +1 -1
  42. data/app/commands/decidim/amendable/update_draft.rb +1 -1
  43. data/app/commands/decidim/amendable/withdraw.rb +1 -1
  44. data/app/commands/decidim/attachment_methods.rb +3 -2
  45. data/app/commands/decidim/create_editor_image.rb +1 -1
  46. data/app/commands/decidim/create_follow.rb +1 -1
  47. data/app/commands/decidim/create_omniauth_registration.rb +2 -3
  48. data/app/commands/decidim/create_registration.rb +1 -2
  49. data/app/commands/decidim/create_report.rb +1 -1
  50. data/app/commands/decidim/create_user_group.rb +2 -2
  51. data/app/commands/decidim/create_user_report.rb +5 -3
  52. data/app/commands/decidim/delete_follow.rb +1 -1
  53. data/app/commands/decidim/demote_membership.rb +1 -1
  54. data/app/commands/decidim/destroy_account.rb +1 -1
  55. data/app/commands/decidim/endorse_resource.rb +1 -1
  56. data/app/commands/decidim/gallery_methods.rb +45 -10
  57. data/app/commands/decidim/invite_user.rb +1 -3
  58. data/app/commands/decidim/invite_user_again.rb +1 -1
  59. data/app/commands/decidim/invite_user_to_group.rb +1 -1
  60. data/app/commands/decidim/join_user_group.rb +1 -1
  61. data/app/commands/decidim/leave_user_group.rb +8 -2
  62. data/app/commands/decidim/messaging/reply_to_conversation.rb +2 -2
  63. data/app/commands/decidim/messaging/start_conversation.rb +2 -2
  64. data/app/commands/decidim/multiple_attachments_methods.rb +44 -5
  65. data/app/commands/decidim/promote_membership.rb +1 -1
  66. data/app/commands/decidim/reject_group_invitation.rb +1 -1
  67. data/app/commands/decidim/reject_user_group_join_request.rb +1 -1
  68. data/app/commands/decidim/remove_user_from_group.rb +1 -1
  69. data/app/commands/decidim/resend_confirmation_instructions.rb +18 -0
  70. data/app/commands/decidim/search.rb +10 -9
  71. data/app/commands/decidim/unendorse_resource.rb +1 -1
  72. data/app/commands/decidim/unsubscribe_settings.rb +1 -1
  73. data/app/commands/decidim/update_account.rb +2 -2
  74. data/app/commands/decidim/update_notifications_settings.rb +3 -2
  75. data/app/commands/decidim/update_password.rb +31 -0
  76. data/app/commands/decidim/update_user_group.rb +2 -2
  77. data/app/commands/decidim/update_user_interests.rb +1 -1
  78. data/app/commands/decidim/validate_upload.rb +15 -0
  79. data/app/controllers/concerns/decidim/devise_controllers.rb +0 -1
  80. data/app/controllers/concerns/decidim/filter_resource.rb +23 -24
  81. data/app/controllers/concerns/decidim/force_authentication.rb +1 -2
  82. data/app/controllers/concerns/decidim/http_caching_disabler.rb +1 -1
  83. data/app/controllers/concerns/decidim/needs_password_change.rb +43 -0
  84. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +3 -3
  85. data/app/controllers/concerns/decidim/orderable.rb +1 -1
  86. data/app/controllers/concerns/decidim/participatory_space_context.rb +2 -2
  87. data/app/controllers/concerns/decidim/resource_versions_concern.rb +0 -4
  88. data/app/controllers/decidim/account_controller.rb +45 -0
  89. data/app/controllers/decidim/application_controller.rb +1 -1
  90. data/app/controllers/decidim/devise/invitations_controller.rb +2 -0
  91. data/app/controllers/decidim/devise/passwords_controller.rb +33 -0
  92. data/app/controllers/decidim/devise/registrations_controller.rb +3 -1
  93. data/app/controllers/decidim/devise/sessions_controller.rb +2 -0
  94. data/app/controllers/decidim/{data_portability_controller.rb → download_your_data_controller.rb} +8 -8
  95. data/app/controllers/decidim/groups_controller.rb +5 -0
  96. data/app/controllers/decidim/last_activities_controller.rb +7 -9
  97. data/app/controllers/decidim/manifests_controller.rb +11 -0
  98. data/app/controllers/decidim/newsletters_controller.rb +1 -1
  99. data/app/controllers/decidim/notifications_subscriptions_controller.rb +16 -0
  100. data/app/controllers/decidim/offline_controller.rb +7 -0
  101. data/app/controllers/decidim/profiles_controller.rb +1 -1
  102. data/app/controllers/decidim/searches_controller.rb +4 -3
  103. data/app/controllers/decidim/short_links_controller.rb +35 -0
  104. data/app/controllers/decidim/upload_validations_controller.rb +44 -0
  105. data/app/controllers/decidim/user_activities_controller.rb +32 -16
  106. data/app/controllers/decidim/user_interests_controller.rb +0 -2
  107. data/app/controllers/decidim/user_timeline_controller.rb +6 -8
  108. data/app/events/decidim/change_nickname_event.rb +21 -0
  109. data/app/events/decidim/resource_endorsed_event.rb +1 -2
  110. data/app/forms/decidim/account_form.rb +2 -2
  111. data/app/forms/decidim/form.rb +1 -1
  112. data/app/forms/decidim/messaging/conversation_form.rb +1 -1
  113. data/app/forms/decidim/notifications_settings_form.rb +8 -2
  114. data/app/forms/decidim/password_form.rb +10 -0
  115. data/app/forms/decidim/registration_form.rb +2 -2
  116. data/app/forms/decidim/upload_validation_form.rb +54 -0
  117. data/app/forms/decidim/user_group_form.rb +1 -1
  118. data/app/forms/decidim/user_interest_scope_form.rb +1 -1
  119. data/app/forms/decidim/user_interests_form.rb +1 -1
  120. data/app/forms/translatable_presence_validator.rb +2 -2
  121. data/app/forms/url_validator.rb +1 -1
  122. data/app/helpers/decidim/application_helper.rb +2 -2
  123. data/app/helpers/decidim/attachments_helper.rb +1 -1
  124. data/app/helpers/decidim/cells_paginate_helper.rb +1 -1
  125. data/app/helpers/decidim/datalist_select_helper.rb +40 -0
  126. data/app/helpers/decidim/decidim_form_helper.rb +1 -1
  127. data/app/helpers/decidim/filters_helper.rb +1 -5
  128. data/app/helpers/decidim/followable_helper.rb +1 -1
  129. data/app/helpers/decidim/icon_helper.rb +1 -1
  130. data/app/helpers/decidim/layout_helper.rb +15 -1
  131. data/app/helpers/decidim/map_helper.rb +12 -8
  132. data/app/helpers/decidim/meta_tags_helper.rb +0 -2
  133. data/app/helpers/decidim/notifications_settings_helper.rb +15 -0
  134. data/app/helpers/decidim/passwords_helper.rb +41 -0
  135. data/app/helpers/decidim/sanitize_helper.rb +1 -0
  136. data/app/helpers/decidim/searches_helper.rb +6 -6
  137. data/app/helpers/decidim/short_link_helper.rb +28 -0
  138. data/app/helpers/decidim/translations_helper.rb +2 -2
  139. data/app/jobs/decidim/{data_portability_export_job.rb → download_your_data_export_job.rb} +5 -5
  140. data/app/jobs/decidim/email_notifications_digest_generator_job.rb +21 -0
  141. data/app/jobs/decidim/notification_generator_for_recipient_job.rb +5 -3
  142. data/app/jobs/decidim/reminder_generator_job.rb +12 -0
  143. data/app/jobs/decidim/resend_confirmation_instructions_job.rb +11 -0
  144. data/app/jobs/decidim/user_report_job.rb +2 -2
  145. data/app/mailers/concerns/decidim/multitenant_asset_host.rb +11 -3
  146. data/app/mailers/decidim/application_mailer.rb +1 -1
  147. data/app/mailers/decidim/block_user_mailer.rb +8 -7
  148. data/app/mailers/decidim/export_mailer.rb +2 -2
  149. data/app/mailers/decidim/newsletter_mailer.rb +2 -2
  150. data/app/mailers/decidim/newsletters_opt_in_mailer.rb +7 -5
  151. data/app/mailers/decidim/notifications_digest_mailer.rb +23 -0
  152. data/app/mailers/decidim/user_report_mailer.rb +10 -11
  153. data/app/models/decidim/action_log.rb +95 -11
  154. data/app/models/decidim/amendment.rb +0 -1
  155. data/app/models/decidim/area.rb +1 -2
  156. data/app/models/decidim/area_type.rb +5 -0
  157. data/app/models/decidim/attachment.rb +6 -0
  158. data/app/models/decidim/attachment_collection.rb +5 -0
  159. data/app/models/decidim/category.rb +9 -4
  160. data/app/models/decidim/coauthorship.rb +0 -2
  161. data/app/models/decidim/contextual_help_section.rb +5 -1
  162. data/app/models/decidim/follow.rb +2 -2
  163. data/app/models/decidim/gamification/badge_score.rb +0 -1
  164. data/app/models/decidim/identity.rb +2 -2
  165. data/app/models/decidim/messaging/conversation.rb +4 -4
  166. data/app/models/decidim/messaging/message.rb +1 -2
  167. data/app/models/decidim/messaging/participation.rb +0 -2
  168. data/app/models/decidim/messaging/receipt.rb +0 -2
  169. data/app/models/decidim/notification.rb +5 -2
  170. data/app/models/decidim/oauth_application.rb +12 -1
  171. data/app/models/decidim/organization.rb +7 -7
  172. data/app/models/decidim/participatory_space_private_user.rb +4 -2
  173. data/app/models/decidim/permission_action.rb +1 -0
  174. data/app/models/decidim/reminder.rb +10 -0
  175. data/app/models/decidim/reminder_delivery.rb +7 -0
  176. data/app/models/decidim/reminder_record.rb +29 -0
  177. data/app/models/decidim/report.rb +2 -2
  178. data/app/models/decidim/scope.rb +3 -4
  179. data/app/models/decidim/scope_type.rb +5 -0
  180. data/app/models/decidim/share_token.rb +0 -2
  181. data/app/models/decidim/short_link.rb +162 -0
  182. data/app/models/decidim/user.rb +34 -6
  183. data/app/models/decidim/user_base_entity.rb +1 -2
  184. data/app/models/decidim/user_group.rb +3 -3
  185. data/app/models/decidim/user_moderation.rb +0 -2
  186. data/app/models/decidim/user_report.rb +2 -2
  187. data/app/packs/entrypoints/decidim_core.js +2 -2
  188. data/app/packs/entrypoints/decidim_sw.js +1 -0
  189. data/app/packs/src/decidim/autocomplete.js +298 -0
  190. data/app/packs/src/decidim/cookie_consent/consent_manager.js +133 -0
  191. data/app/packs/src/decidim/cookie_consent/cookie_consent.js +103 -0
  192. data/app/packs/src/decidim/datalist_select.js +36 -0
  193. data/app/packs/src/decidim/direct_uploads/upload_field.js +117 -0
  194. data/app/packs/src/decidim/direct_uploads/upload_modal.js +264 -0
  195. data/app/packs/src/decidim/direct_uploads/upload_utility.js +49 -0
  196. data/app/packs/src/decidim/direct_uploads/uploader.js +89 -0
  197. data/app/packs/src/decidim/external_domain_warning.js +1 -1
  198. data/app/packs/src/decidim/external_link.js +14 -3
  199. data/app/packs/src/decidim/external_link.test.js +64 -0
  200. data/app/packs/src/decidim/geocoding.js +10 -35
  201. data/app/packs/src/decidim/identity_selector_dialog.js +1 -1
  202. data/app/packs/src/decidim/impersonation.js +3 -3
  203. data/app/packs/src/decidim/input_character_counter.js +177 -7
  204. data/app/packs/src/decidim/input_multiple_mentions.js +87 -187
  205. data/app/packs/src/decidim/map/icon.js +2 -1
  206. data/app/packs/src/decidim/map/svg-icon.js +248 -0
  207. data/app/packs/src/decidim/security/selfxss_warning.js +5 -1
  208. data/app/packs/src/decidim/session_timeouter.js +15 -15
  209. data/app/packs/src/decidim/sw/a2hs.js +28 -0
  210. data/app/packs/src/decidim/sw/index.js +3 -0
  211. data/app/packs/src/decidim/sw/loader.js +18 -0
  212. data/app/packs/src/decidim/sw/push-permissions.js +87 -0
  213. data/app/packs/src/decidim/sw/sw.js +80 -0
  214. data/app/packs/src/decidim/vizzs/areachart.js +33 -28
  215. data/app/packs/src/decidim/vizzs/{metrics.js → index.js} +0 -0
  216. data/app/packs/src/decidim/vizzs/linechart.js +23 -18
  217. data/app/packs/src/decidim/vizzs/rowchart.js +15 -11
  218. data/app/packs/stylesheets/decidim/email.scss +66 -0
  219. data/app/packs/stylesheets/decidim/layouts/_user.scss +8 -0
  220. data/app/packs/stylesheets/decidim/modules/_autocomplete.scss +99 -0
  221. data/app/packs/stylesheets/decidim/modules/_cards.scss +0 -2
  222. data/app/packs/stylesheets/decidim/modules/_comments.scss +0 -2
  223. data/app/packs/stylesheets/decidim/modules/_cookie-consent.scss +115 -0
  224. data/app/packs/stylesheets/decidim/modules/_footer.scss +4 -0
  225. data/app/packs/stylesheets/decidim/modules/_forms.scss +0 -5
  226. data/app/packs/stylesheets/decidim/modules/_input-multiple-mentions.scss +29 -2
  227. data/app/packs/stylesheets/decidim/modules/_modules.scss +3 -1
  228. data/app/packs/stylesheets/decidim/modules/_reveal.scss +15 -0
  229. data/app/packs/stylesheets/decidim/modules/_upload_modal.scss +143 -0
  230. data/app/packs/stylesheets/decidim/utils/_fontface.scss +3 -0
  231. data/app/permissions/decidim/permissions.rb +4 -8
  232. data/app/presenters/decidim/admin_log/area_type_presenter.rb +34 -0
  233. data/app/presenters/decidim/admin_log/attachment_collection_presenter.rb +35 -0
  234. data/app/presenters/decidim/admin_log/attachment_presenter.rb +27 -0
  235. data/app/presenters/decidim/admin_log/category_presenter.rb +36 -0
  236. data/app/presenters/decidim/admin_log/component_presenter.rb +35 -3
  237. data/app/presenters/decidim/admin_log/contextual_help_section_presenter.rb +33 -0
  238. data/app/presenters/decidim/admin_log/organization_presenter.rb +9 -4
  239. data/app/presenters/decidim/admin_log/scope_type_presenter.rb +34 -0
  240. data/app/presenters/decidim/home_stats_presenter.rb +4 -2
  241. data/app/presenters/decidim/log/base_presenter.rb +1 -1
  242. data/app/presenters/decidim/menu_item_presenter.rb +1 -1
  243. data/app/presenters/decidim/metric_charts_presenter.rb +7 -1
  244. data/app/presenters/decidim/nil_presenter.rb +3 -1
  245. data/app/presenters/decidim/notification_to_mailer_presenter.rb +39 -0
  246. data/app/presenters/decidim/notifications_digest_presenter.rb +42 -0
  247. data/app/presenters/decidim/official_author_presenter.rb +4 -0
  248. data/app/presenters/decidim/organization_presenter.rb +22 -0
  249. data/app/presenters/decidim/push_notification_presenter.rb +24 -0
  250. data/app/presenters/decidim/stats_presenter.rb +1 -1
  251. data/app/presenters/decidim/user_presenter.rb +1 -4
  252. data/app/presenters/decidim/validation_errors_presenter.rb +1 -1
  253. data/app/queries/decidim/messaging/user_conversations.rb +1 -1
  254. data/app/queries/decidim/metric_manage.rb +1 -1
  255. data/app/queries/decidim/own_activities.rb +11 -0
  256. data/app/queries/decidim/participatory_processes_with_user_role.rb +1 -1
  257. data/app/{services/decidim/activity_search.rb → queries/decidim/public_activities.rb} +35 -77
  258. data/app/queries/decidim/public_components.rb +1 -1
  259. data/app/queries/decidim/similar_emendations.rb +1 -1
  260. data/app/queries/decidim/stats_users_count.rb +1 -1
  261. data/app/queries/decidim/user_groups/accepted_memberships.rb +1 -1
  262. data/app/queries/decidim/user_groups/accepted_user_groups.rb +1 -1
  263. data/app/queries/decidim/user_groups/accepted_users.rb +1 -1
  264. data/app/queries/decidim/user_groups/admin_memberships.rb +1 -1
  265. data/app/queries/decidim/user_groups/invited_memberships.rb +1 -1
  266. data/app/queries/decidim/user_groups/manageable_user_groups.rb +1 -1
  267. data/app/queries/decidim/user_groups/member_memberships.rb +1 -1
  268. data/app/services/decidim/{data_portability_exporter.rb → download_your_data_exporter.rb} +6 -6
  269. data/app/services/decidim/email_notification_generator.rb +2 -2
  270. data/app/services/decidim/engine_resolver.rb +66 -0
  271. data/app/services/decidim/events_manager.rb +1 -1
  272. data/app/services/decidim/iframe_disabler.rb +31 -0
  273. data/app/services/decidim/notification_generator_for_recipient.rb +1 -1
  274. data/app/services/decidim/notifications_digest_sending_decider.rb +18 -0
  275. data/app/services/decidim/notifications_subscriptions_persistor.rb +37 -0
  276. data/app/services/decidim/open_data_exporter.rb +1 -1
  277. data/app/services/decidim/resource_search.rb +17 -164
  278. data/app/services/decidim/send_push_notification.rb +59 -0
  279. data/app/services/decidim/traceability.rb +1 -1
  280. data/app/uploaders/decidim/application_uploader.rb +2 -12
  281. data/app/uploaders/decidim/cw/attachment_uploader.rb +1 -1
  282. data/app/uploaders/decidim/cw/{data_portability_uploader.rb → download_your_data_uploader.rb} +3 -3
  283. data/app/uploaders/decidim/cw/image_uploader.rb +2 -2
  284. data/app/uploaders/decidim/organization_favicon_uploader.rb +3 -2
  285. data/app/validators/passthru_validator.rb +29 -21
  286. data/app/validators/password_validator.rb +25 -4
  287. data/app/validators/uploader_image_dimensions_validator.rb +1 -1
  288. data/app/views/decidim/account/_account_notification.js.erb +20 -0
  289. data/app/views/decidim/account/_password_fields.html.erb +2 -2
  290. data/app/views/decidim/account/cancel_email_change.js.erb +6 -0
  291. data/app/views/decidim/account/resend_confirmation_instructions.erb +1 -0
  292. data/app/views/decidim/account/show.html.erb +19 -6
  293. data/app/views/decidim/application/{_attachments.html.erb → _attachments.erb} +2 -2
  294. data/app/views/decidim/application/_collection.html.erb +1 -1
  295. data/app/views/decidim/application/{_document.html.erb → _document.erb} +0 -0
  296. data/app/views/decidim/application/{_documents.html.erb → _documents.erb} +2 -2
  297. data/app/views/decidim/application/{_photos.html.erb → _photos.erb} +0 -0
  298. data/app/views/decidim/devise/confirmations/new.html.erb +1 -1
  299. data/app/views/decidim/devise/invitations/edit.html.erb +3 -4
  300. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +3 -3
  301. data/app/views/decidim/devise/passwords/edit.html.erb +7 -5
  302. data/app/views/decidim/devise/passwords/new.html.erb +1 -1
  303. data/app/views/decidim/devise/registrations/edit.html.erb +5 -5
  304. data/app/views/decidim/devise/registrations/new.html.erb +5 -5
  305. data/app/views/decidim/devise/sessions/new.html.erb +2 -2
  306. data/app/views/decidim/{data_portability → download_your_data}/export.html.erb +0 -0
  307. data/app/views/decidim/{data_portability → download_your_data}/show.html.erb +2 -2
  308. data/app/views/decidim/export_mailer/download_your_data_export.html.erb +7 -0
  309. data/app/views/decidim/last_activities/index.html.erb +1 -1
  310. data/app/views/decidim/manifests/show.json.erb +31 -0
  311. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +5 -3
  312. data/app/views/decidim/messaging/conversations/_reply.html.erb +1 -1
  313. data/app/views/decidim/messaging/conversations/_start.html.erb +1 -3
  314. data/app/views/decidim/messaging/conversations/create.js.erb +1 -0
  315. data/app/views/decidim/notifications_digest_mailer/_email_content.html.erb +11 -0
  316. data/app/views/decidim/notifications_digest_mailer/digest_mail.erb +27 -0
  317. data/app/views/decidim/notifications_settings/show.html.erb +79 -52
  318. data/app/views/decidim/offline/show.html.erb +9 -0
  319. data/app/views/decidim/pages/_standalone.html.erb +1 -1
  320. data/app/views/decidim/reported_mailer/hide.html.erb +1 -1
  321. data/app/views/decidim/reported_mailer/report.html.erb +1 -1
  322. data/app/views/decidim/scopes/picker.html.erb +1 -1
  323. data/app/views/decidim/searches/_filters.html.erb +2 -2
  324. data/app/views/decidim/shared/participatory_space_filters/_filters.html.erb +3 -3
  325. data/app/views/decidim/user_interests/show.html.erb +13 -11
  326. data/app/views/decidim/user_report_mailer/notify.html.erb +10 -3
  327. data/app/views/devise/mailer/confirmation_instructions.html.erb +3 -1
  328. data/app/views/layouts/decidim/_application.html.erb +6 -3
  329. data/app/views/layouts/decidim/_cookie_warning.html.erb +8 -8
  330. data/app/views/layouts/decidim/_decidim_javascript.html.erb +12 -0
  331. data/app/views/layouts/decidim/_head.html.erb +4 -2
  332. data/app/views/layouts/decidim/_js_configuration.html.erb +5 -1
  333. data/app/views/layouts/decidim/_main_footer.html.erb +1 -0
  334. data/app/views/layouts/decidim/_offline_banner.html.erb +11 -0
  335. data/app/views/layouts/decidim/widget.html.erb +2 -2
  336. data/config/assets.rb +1 -0
  337. data/config/locales/am-ET.yml +1 -0
  338. data/config/locales/ar.yml +50 -36
  339. data/config/locales/bg.yml +16 -31
  340. data/config/locales/ca.yml +190 -39
  341. data/config/locales/cs.yml +195 -42
  342. data/config/locales/da.yml +1 -0
  343. data/config/locales/de.yml +27 -99
  344. data/config/locales/el.yml +15 -30
  345. data/config/locales/en.yml +183 -32
  346. data/config/locales/eo.yml +4 -6
  347. data/config/locales/es-MX.yml +186 -35
  348. data/config/locales/es-PY.yml +186 -35
  349. data/config/locales/es.yml +188 -37
  350. data/config/locales/et.yml +1 -0
  351. data/config/locales/eu.yml +19 -40
  352. data/config/locales/fi-plain.yml +184 -33
  353. data/config/locales/fi.yml +184 -33
  354. data/config/locales/fr-CA.yml +172 -35
  355. data/config/locales/fr.yml +180 -43
  356. data/config/locales/ga-IE.yml +6 -8
  357. data/config/locales/gl.yml +49 -30
  358. data/config/locales/hr.yml +1 -0
  359. data/config/locales/hu.yml +64 -206
  360. data/config/locales/id-ID.yml +17 -29
  361. data/config/locales/is-IS.yml +7 -17
  362. data/config/locales/it.yml +25 -41
  363. data/config/locales/ja.yml +175 -36
  364. data/config/locales/ko.yml +1 -0
  365. data/config/locales/lb.yml +17 -33
  366. data/config/locales/lt.yml +1 -1802
  367. data/config/locales/lv.yml +15 -28
  368. data/config/locales/mt.yml +1 -0
  369. data/config/locales/nl.yml +28 -36
  370. data/config/locales/no.yml +25 -36
  371. data/config/locales/om-ET.yml +1 -0
  372. data/config/locales/pl.yml +67 -35
  373. data/config/locales/pt-BR.yml +20 -35
  374. data/config/locales/pt.yml +17 -33
  375. data/config/locales/ro-RO.yml +20 -36
  376. data/config/locales/ru.yml +17 -28
  377. data/config/locales/si-LK.yml +1 -0
  378. data/config/locales/sk.yml +18 -30
  379. data/config/locales/sl.yml +1 -0
  380. data/config/locales/so-SO.yml +1 -0
  381. data/config/locales/sr-CS.yml +1 -0
  382. data/config/locales/sv.yml +68 -34
  383. data/config/locales/sw-KE.yml +1 -0
  384. data/config/locales/ti-ER.yml +1 -0
  385. data/config/locales/tr-TR.yml +17 -31
  386. data/config/locales/uk.yml +17 -27
  387. data/config/locales/val-ES.yml +1 -0
  388. data/config/locales/vi.yml +1 -0
  389. data/config/locales/zh-CN.yml +17 -30
  390. data/config/locales/zh-TW.yml +1 -0
  391. data/config/routes.rb +17 -2
  392. data/db/migrate/20180508111710_add_accepted_tos_version_field_to_users.rb +1 -0
  393. data/db/migrate/20181030090144_destroy_deleted_users_follows.rb +1 -0
  394. data/db/migrate/20190412131728_fix_user_names.rb +4 -4
  395. data/db/migrate/20210831181634_add_service_name_to_active_storage_blobs.active_storage.rb +22 -0
  396. data/db/migrate/20210831181635_create_active_storage_variant_records.active_storage.rb +14 -0
  397. data/db/migrate/20211208155453_create_decidim_reminders.rb +11 -0
  398. data/db/migrate/20211209121025_create_decidim_reminder_records.rb +11 -0
  399. data/db/migrate/20211209121040_create_decidim_reminder_deliveries.rb +10 -0
  400. data/db/migrate/20220118121921_change_required_description_categories.rb +7 -0
  401. data/db/migrate/20220127113419_add_notification_settings_to_users.rb +7 -0
  402. data/db/migrate/20220203121137_add_notifications_sending_frequency_to_users.rb +7 -0
  403. data/db/migrate/20220215172439_add_digest_sent_at_to_users.rb +7 -0
  404. data/db/migrate/20220323195258_add_index_to_decidim_users_notifications_sending_frequency.rb +7 -0
  405. data/db/migrate/20220427142214_drop_emails_on_notifications_flag_from_user.rb +15 -0
  406. data/db/migrate/20220518094535_add_previous_passwords_to_users.rb +20 -0
  407. data/db/migrate/20220524195530_create_decidim_short_links.rb +23 -0
  408. data/db/seeds.rb +17 -18
  409. data/lib/decidim/acts_as_tree.rb +47 -0
  410. data/lib/decidim/api/input_sorts/component_input_sort.rb +2 -1
  411. data/lib/decidim/api/interfaces/authorable_interface.rb +6 -5
  412. data/lib/decidim/asset_router.rb +80 -0
  413. data/lib/decidim/attachment_attributes.rb +8 -8
  414. data/lib/decidim/attribute_object/form.rb +174 -0
  415. data/lib/decidim/attribute_object/model.rb +148 -0
  416. data/lib/decidim/attribute_object/nested_validator.rb +22 -0
  417. data/lib/decidim/attribute_object/type_map.rb +14 -0
  418. data/lib/decidim/attribute_object/type_resolver.rb +91 -0
  419. data/lib/decidim/attribute_object.rb +26 -0
  420. data/lib/decidim/attributes/array.rb +62 -0
  421. data/lib/decidim/attributes/blob.rb +20 -0
  422. data/lib/decidim/attributes/clean_string.rb +12 -6
  423. data/lib/decidim/attributes/hash.rb +36 -0
  424. data/lib/decidim/attributes/integer.rb +17 -0
  425. data/lib/decidim/attributes/localized_date.rb +9 -7
  426. data/lib/decidim/attributes/model.rb +24 -0
  427. data/lib/decidim/attributes/object.rb +28 -0
  428. data/lib/decidim/attributes/symbol.rb +23 -0
  429. data/lib/decidim/attributes/time_with_zone.rb +9 -7
  430. data/lib/decidim/attributes.rb +29 -0
  431. data/lib/decidim/authorable.rb +21 -6
  432. data/lib/decidim/authorization_form_builder.rb +9 -11
  433. data/lib/decidim/carrier_wave_migrator_service.rb +15 -15
  434. data/lib/decidim/coauthorable.rb +22 -4
  435. data/lib/decidim/command.rb +44 -0
  436. data/lib/decidim/common_passwords.rb +1 -1
  437. data/lib/decidim/component_manifest.rb +5 -5
  438. data/lib/decidim/component_validator.rb +2 -2
  439. data/lib/decidim/content_block_manifest.rb +1 -1
  440. data/lib/decidim/content_parsers/hashtag_parser.rb +2 -2
  441. data/lib/decidim/content_parsers/resource_parser.rb +1 -1
  442. data/lib/decidim/content_parsers/user_group_parser.rb +1 -1
  443. data/lib/decidim/content_parsers/user_parser.rb +4 -4
  444. data/lib/decidim/content_renderers/hashtag_renderer.rb +1 -1
  445. data/lib/decidim/content_renderers/link_renderer.rb +2 -2
  446. data/lib/decidim/content_renderers/user_group_renderer.rb +1 -1
  447. data/lib/decidim/content_renderers/user_renderer.rb +1 -1
  448. data/lib/decidim/controller_helpers.rb +41 -0
  449. data/lib/decidim/core/engine.rb +30 -19
  450. data/lib/decidim/core/test/factories.rb +48 -8
  451. data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +16 -4
  452. data/lib/decidim/core/test/shared_examples/amendable/amendment_form_examples.rb +1 -1
  453. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +15 -2
  454. data/lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb +2 -2
  455. data/lib/decidim/core/test/shared_examples/comments_examples.rb +203 -0
  456. data/lib/decidim/core/test/shared_examples/localised_email.rb +1 -1
  457. data/lib/decidim/core/test/shared_examples/logo_email.rb +1 -1
  458. data/lib/decidim/core/test/shared_examples/map_examples.rb +2 -2
  459. data/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb +0 -6
  460. data/lib/decidim/core/test/shared_examples/resource_search_examples.rb +120 -40
  461. data/lib/decidim/core/test/shared_examples/resourceable.rb +0 -6
  462. data/lib/decidim/core/test/shared_examples/searchable_participatory_space_examples.rb +1 -1
  463. data/lib/decidim/core/test/shared_examples/searchable_resources_shared_context.rb +1 -1
  464. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +3 -3
  465. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +2 -2
  466. data/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +1 -1
  467. data/lib/decidim/core/test.rb +0 -2
  468. data/lib/decidim/core/version.rb +1 -1
  469. data/lib/decidim/core.rb +108 -14
  470. data/lib/decidim/{data_portability.rb → download_your_data.rb} +3 -3
  471. data/lib/decidim/{data_portability_serializers/data_portability_conversation_serializer.rb → download_your_data_serializers/download_your_data_conversation_serializer.rb} +2 -2
  472. data/lib/decidim/{data_portability_serializers/data_portability_follow_serializer.rb → download_your_data_serializers/download_your_data_follow_serializer.rb} +2 -2
  473. data/lib/decidim/{data_portability_serializers/data_portability_identity_serializer.rb → download_your_data_serializers/download_your_data_identity_serializer.rb} +2 -2
  474. data/lib/decidim/{data_portability_serializers/data_portability_notification_serializer.rb → download_your_data_serializers/download_your_data_notification_serializer.rb} +2 -2
  475. data/lib/decidim/{data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb → download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb} +2 -2
  476. data/lib/decidim/{data_portability_serializers/data_portability_report_serializer.rb → download_your_data_serializers/download_your_data_report_serializer.rb} +2 -2
  477. data/lib/decidim/{data_portability_serializers/data_portability_user_group_serializer.rb → download_your_data_serializers/download_your_data_user_group_serializer.rb} +2 -2
  478. data/lib/decidim/{data_portability_serializers/data_portability_user_serializer.rb → download_your_data_serializers/download_your_data_user_serializer.rb} +3 -3
  479. data/lib/decidim/download_your_data_serializers.rb +23 -0
  480. data/lib/decidim/engine_router.rb +7 -1
  481. data/lib/decidim/env.rb +56 -0
  482. data/lib/decidim/event_recorder.rb +25 -0
  483. data/lib/decidim/events/base_event.rb +10 -14
  484. data/lib/decidim/events/simple_event.rb +6 -5
  485. data/lib/decidim/exporters/export_data.rb +1 -1
  486. data/lib/decidim/exporters/export_manifest.rb +2 -1
  487. data/lib/decidim/file_validator_humanizer.rb +24 -1
  488. data/lib/decidim/filterable_resource.rb +55 -0
  489. data/lib/decidim/fingerprint_calculator.rb +2 -4
  490. data/lib/decidim/form_builder.rb +158 -130
  491. data/lib/decidim/gamification/badge.rb +2 -3
  492. data/lib/decidim/gamification/badge_scorer.rb +1 -0
  493. data/lib/decidim/has_area.rb +27 -0
  494. data/lib/decidim/has_attachments.rb +2 -2
  495. data/lib/decidim/has_category.rb +36 -0
  496. data/lib/decidim/has_resource_permission.rb +2 -0
  497. data/lib/decidim/importers/import_manifest.rb +3 -21
  498. data/lib/decidim/jsonb_attributes.rb +6 -4
  499. data/lib/decidim/manifest_messages.rb +23 -0
  500. data/lib/decidim/map/autocomplete.rb +6 -4
  501. data/lib/decidim/map/frontend.rb +2 -2
  502. data/lib/decidim/map/provider/dynamic_map/here.rb +1 -46
  503. data/lib/decidim/map/provider/geocoding/here.rb +5 -5
  504. data/lib/decidim/map/provider/here.rb +3 -0
  505. data/lib/decidim/map/provider/osm.rb +3 -0
  506. data/lib/decidim/map.rb +4 -4
  507. data/lib/decidim/menu.rb +1 -1
  508. data/lib/decidim/metric_manifest.rb +2 -2
  509. data/lib/decidim/nicknamizable.rb +1 -1
  510. data/lib/decidim/notification_setting_manifest.rb +19 -0
  511. data/lib/decidim/organization_settings.rb +8 -7
  512. data/lib/decidim/participatory_space_context_manifest.rb +2 -2
  513. data/lib/decidim/participatory_space_manifest.rb +2 -2
  514. data/lib/decidim/processes_file_locally.rb +31 -0
  515. data/lib/decidim/query.rb +84 -0
  516. data/lib/decidim/record_encryptor.rb +29 -8
  517. data/lib/decidim/reminder_manifest.rb +75 -0
  518. data/lib/decidim/reminder_registry.rb +67 -0
  519. data/lib/decidim/resource_manifest.rb +1 -1
  520. data/lib/decidim/resourceable.rb +11 -0
  521. data/lib/decidim/scopable.rb +15 -0
  522. data/lib/decidim/settings_manifest.rb +4 -4
  523. data/lib/decidim/spring.rb +16 -0
  524. data/lib/decidim/translatable_attributes.rb +13 -16
  525. data/lib/decidim/url_option_resolver.rb +50 -0
  526. data/lib/decidim/view_hooks.rb +1 -1
  527. data/lib/decidim/view_model.rb +5 -1
  528. data/lib/decidim/webpacker/thread_safe_compiler.rb +30 -0
  529. data/lib/decidim/webpacker/webpack/custom.js +15 -3
  530. data/lib/decidim/webpacker/webpacker.yml +1 -1
  531. data/lib/decidim/webpacker.rb +2 -0
  532. data/lib/devise/models/decidim_validatable.rb +1 -1
  533. data/lib/tasks/decidim_active_storage_migration_tasks.rake +1 -3
  534. data/lib/tasks/{decidim_data_portability_tasks.rake → decidim_download_your_data_tasks.rake} +9 -9
  535. data/lib/tasks/decidim_mailers_tasks.rake +23 -0
  536. data/lib/tasks/decidim_metrics_tasks.rake +1 -1
  537. data/lib/tasks/decidim_pwa_tasks.rake +18 -0
  538. data/lib/tasks/decidim_reminders_tasks.rake +17 -0
  539. data/lib/tasks/decidim_tasks.rake +6 -1
  540. data/lib/tasks/decidim_webpacker_tasks.rake +1 -1
  541. data/lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake +51 -0
  542. metadata +184 -86
  543. data/app/controllers/decidim/cookie_policy_controller.rb +0 -24
  544. data/app/helpers/decidim/cookies_helper.rb +0 -11
  545. data/app/packs/src/decidim/vizzs/renders.js +0 -9
  546. data/app/packs/src/decidim/vizzs.js +0 -1
  547. data/app/packs/stylesheets/decidim/modules/_cookie-bar.scss +0 -26
  548. data/app/services/decidim/home_activity_search.rb +0 -80
  549. data/app/services/decidim/participatory_space_search.rb +0 -54
  550. data/app/views/decidim/cookie_policy/accept.js.erb +0 -3
  551. data/app/views/decidim/export_mailer/data_portability_export.html.erb +0 -7
  552. data/config/locales/oc-FR.yml +0 -1
  553. data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +0 -60
  554. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +0 -40
  555. data/lib/decidim/data_portability_serializers.rb +0 -23
  556. data/lib/decidim/middleware/rails_cookies.rb +0 -23
@@ -1,3 +1,4 @@
1
+ ---
1
2
  es:
2
3
  activemodel:
3
4
  attributes:
@@ -73,7 +74,8 @@ es:
73
74
  'true': 'Sí'
74
75
  carrierwave:
75
76
  errors:
76
- image_too_big: La imagen es demasiado grande
77
+ file_resolution_too_large: La resolución del archivo es demasiado grande
78
+ file_size_too_large: El tamaño del archivo es demasiado grande
77
79
  not_inside_organization: El archivo no está relacionado con ninguna organización
78
80
  date:
79
81
  formats:
@@ -109,7 +111,6 @@ es:
109
111
  x_seconds:
110
112
  one: hace 1 segundo
111
113
  other: "hace %{count} segundos"
112
- zero: ahora mismo
113
114
  decidim:
114
115
  accessibility:
115
116
  external_link: Enlace externo
@@ -118,9 +119,6 @@ es:
118
119
  skip_button: Saltar al contenido principal
119
120
  account:
120
121
  blocked: Esta cuenta ha sido bloqueada por una violación de los Términos y Condiciones de uso
121
- data_portability_export:
122
- file_no_exists: El archivo no existe
123
- notice: La descarga de tus datos está en curso. Recibirás un correo electrónico cuando se complete.
124
122
  delete:
125
123
  alert: Esta acción no se puede deshacer. Si eliminas tu cuenta no podrás iniciar sesión con tus credenciales. La eliminación de tu cuenta resultará en la anonimización de tus contribuciones. Aún podrás crear una nueva cuenta, pero estas contribuciones no se asociarán a ella.
126
124
  confirm:
@@ -132,8 +130,21 @@ es:
132
130
  destroy:
133
131
  error: Se ha producido un error al eliminar tu cuenta.
134
132
  success: Tu cuenta se ha eliminado correctamente.
133
+ download_your_data_export:
134
+ file_no_exists: El archivo no existe
135
+ notice: La descarga de tus datos está en curso. Recibirás un correo electrónico cuando se complete.
136
+ email_change:
137
+ body1: Hemos enviado un correo electrónico a %{unconfirmed_email} para verificar tu nueva dirección de correo electrónico.
138
+ body2: '¿Necesitas que te reenviemos el correo de verificación? %{resend_link} o %{cancel_link}.'
139
+ cancel: cancelar
140
+ cancel_error: No se ha podido cancelar el cambio de Correo electrónico.
141
+ cancel_successfully: Cambio de correo electrónico cancelado con éxito.
142
+ resend_error: No se ha podido reenviar el correo de confirmación.
143
+ resend_successfully: Correo de confirmación reenviado correctamente a %{unconfirmed_email}
144
+ send_again: Volver a enviar
145
+ title: Verificación del cambio de correo electrónico
135
146
  show:
136
- available_locales_helper: Elige el idioma que quieres utilizar para navegar y recibir notificaciones en Decidim
147
+ available_locales_helper: Elige el idioma que deseas utilizar para navegar y recibir notificaciones en la plataforma
137
148
  change_password: Cambia la contraseña
138
149
  update_account: Actualizar cuenta
139
150
  update:
@@ -143,16 +154,44 @@ es:
143
154
  admin:
144
155
  actions:
145
156
  cancel: Cancelar
157
+ password_change:
158
+ alert: Tienes que cambiar tu contraseña para poder seguir adelante
159
+ notification: Las usuarias con rol de administración tienen que cambiar su contraseña cada %{days} días.
146
160
  admin_log:
147
161
  area:
148
162
  create: "%{user_name} creó el área %{resource_name}"
149
163
  delete: "%{user_name} eliminó el área %{resource_name}"
150
164
  update: "%{user_name} actualizó el área %{resource_name}"
165
+ area_type:
166
+ create: "%{user_name} ha creado el tipo de área %{resource_name}"
167
+ delete: "%{user_name} ha eliminado el tipo de área %{resource_name}"
168
+ update: "%{user_name} ha actualizado tipo de área %{resource_name}"
169
+ attachment:
170
+ create: "%{user_name} ha creado el adjunto %{resource_name}"
171
+ delete: "%{user_name} ha eliminado el adjunto %{resource_name}"
172
+ update: "%{user_name} ha actualizado el adjunto %{resource_name}"
173
+ attachment_collection:
174
+ create: "%{user_name} ha creado la colección de adjuntos %{resource_name}"
175
+ delete: "%{user_name} ha eliminado la colección de adjuntos %{resource_name}"
176
+ update: "%{user_name} ha actualizado la colección de adjuntos %{resource_name}"
177
+ category:
178
+ create: "%{user_name} ha añadido la categoria %{resource_name} al espacio %{space_name}"
179
+ delete: "%{user_name} ha eliminado la categoria %{resource_name} al espacio %{space_name}"
180
+ update: "%{user_name} ha actualizado la categoria %{resource_name} al espacio %{space_name}"
151
181
  component:
152
182
  create: "%{user_name} agregó el componente %{resource_name} al espacio %{space_name}"
153
183
  delete: "%{user_name} eliminó el componente %{resource_name} del espacio %{space_name}"
184
+ export_component: "%{user_name} ha exportado %{resource_name} %{component_name} en %{space_name} como %{format_name}"
154
185
  publish: "%{user_name} publicó el componente %{resource_name} en el espacio %{space_name}"
155
186
  unpublish: "%{user_name} ha despublicado el componente %{resource_name} del espacio %{space_name}"
187
+ update_permissions_with_space: "%{user_name} ha actualizado los permisos de %{resource_name} en %{space_name}"
188
+ contextual_help_section:
189
+ update: "%{user_name} ha actualizado la sección de ayuda %{resource_name}"
190
+ helpers:
191
+ answers: respuestas
192
+ comments: comentarios
193
+ projects: proyectos
194
+ results: resultados
156
195
  impersonation_log:
157
196
  manage: "%{user_name} ha gestionado a %{resource_name} porque %{reason}"
158
197
  moderation:
@@ -169,6 +208,7 @@ es:
169
208
  update: "%{user_name} actualizó la aplicación %{resource_name} OAuth"
170
209
  organization:
171
210
  update: "%{user_name} actualizó la configuración de la organización"
211
+ update_external_domain: "%{user_name} ha actualizado los dominios externos de la organización"
172
212
  participatory_space_private_user:
173
213
  create: "%{user_name} ha invitado a %{resource_name} como participante privada"
174
214
  create_via_csv: "%{user_name} invitó a %{resource_name} vía CSV a ser un participante privada"
@@ -180,6 +220,10 @@ es:
180
220
  delete_with_parent: "%{user_name} eliminó el ámbito %{resource_name} dentro del ámbito %{parent_scope}"
181
221
  update: "%{user_name} actualizó el ámbito %{resource_name}"
182
222
  update_with_parent: "%{user_name} actualizó el ámbito %{resource_name} dentro del ámbito %{parent_scope}"
223
+ scope_type:
224
+ create: "%{user_name} ha creado el tipo de ámbito %{resource_name}"
225
+ delete: "%{user_name} ha eliminado el tipo de ámbito %{resource_name}"
226
+ update: "%{user_name} ha actualizado el tipo de ámbito %{resource_name}"
183
227
  static_page:
184
228
  create: "%{user_name} creó la página estática %{resource_name}"
185
229
  delete: "%{user_name} eliminó la página estática %{resource_name}"
@@ -303,6 +347,7 @@ es:
303
347
  endorsements:
304
348
  one: adhesión
305
349
  other: adhesiones
350
+ official_author: Oficial
306
351
  authorization_handlers:
307
352
  another_dummy_authorization_handler:
308
353
  explanation: Verifícate introduciendo un número de pasaporte que comience por "A"
@@ -393,6 +438,7 @@ es:
393
438
  debate: Debate
394
439
  initiative: Iniciativa
395
440
  meeting: Encuentro
441
+ order: Votación presupuestaria
396
442
  post: Publicar
397
443
  proposal: Propuesta
398
444
  question: Pregunta
@@ -407,8 +453,8 @@ es:
407
453
  amendments_enabled: Enmiendas habilitadas
408
454
  comments_enabled: Comentarios habilitados
409
455
  comments_max_length: Longitud máxima de los comentarios
410
- dummy_global_attribute_1: Atributo de prueba 1
411
- dummy_global_attribute_2: Atributo de prueba 2
456
+ dummy_global_attribute1: Atributo de prueba 1
457
+ dummy_global_attribute2: Atributo de prueba 2
412
458
  dummy_global_translatable_text: Texto de ejemplo traducible
413
459
  enable_pads_creation: Habilitar la creación de pads
414
460
  resources_permissions_enabled: Permisos de recursos habilitados
@@ -420,8 +466,8 @@ es:
420
466
  amendment_reaction_enabled: Reacción de enmienda activada
421
467
  amendments_visibility: Visibilidad de la enmienda
422
468
  comments_blocked: Comentarios bloqueados
423
- dummy_step_attribute_1: Atributo de fase de prueba 1
424
- dummy_step_attribute_2: Atributo de fase de prueba 2
469
+ dummy_step_attribute1: Atributo de fase de prueba 1
470
+ dummy_step_attribute2: Atributo de fase de prueba 2
425
471
  dummy_step_translatable_text: Fase de ejemplo traducible
426
472
  contact: Contacto
427
473
  content_blocks:
@@ -465,13 +511,6 @@ es:
465
511
  actions:
466
512
  login_before_access: Por favor, inicia sesión con tu cuenta antes de acceder
467
513
  unauthorized: No tienes permisos para realizar esta acción
468
- data_portability:
469
- export:
470
- ready: Listo
471
- show:
472
- download_data: Descárgate los datos
473
- download_data_description: Se enviará un archivo con toda la información asociada a tu cuenta a <strong>%{user_email}</strong>. Este correo electrónico contendrá un archivo .zip y una contraseña para abrirlo.<br/><br/>Para descomprimir el archivo, necesitarás <a href="https://www.7-zip.org/">7-Zip</a> (para Windows) o <a href="https://www.keka.io/">Keka</a> (para MacOS). Si usas Linux, la mayoría de las veces lo tendrás instalado por defecto. Si no, puedes utilizar <a href="https://gitlab.gnome.org/GNOME/file-roller">File Roller</a> o <a href="https://peazip.github.io">PeaZip</a>).
474
- request_data: Solicita datos
475
514
  datepicker:
476
515
  help_text: 'Formato esperado: %{datepicker_format}'
477
516
  devise:
@@ -490,7 +529,6 @@ es:
490
529
  newsletter: Quiero recibir un boletín ocasional con información relevante
491
530
  newsletter_title: Permiso de contacto
492
531
  nickname_help: Tu alias en %{organization}. Solo puede contener letras, números, '-' y '_'.
493
- password_help: "%{minimun_characters} caracteres mínimos, no debe ser demasiado común (por ejemplo, 123456) y debe ser diferente de tu apodo y tu correo electrónico."
494
532
  sign_in: Entra
495
533
  sign_up: Regístrate
496
534
  sign_up_as:
@@ -539,6 +577,13 @@ es:
539
577
  this_application_will_not_be_able_to: 'Esta aplicación no podrá:'
540
578
  update_profile: Actualiza tu perfil
541
579
  wants_to_use_your_account_html: "<strong>%{application_name}</strong> quiere usar tu cuenta"
580
+ download_your_data:
581
+ export:
582
+ ready: Listo
583
+ show:
584
+ download_data: Descárgate los datos
585
+ download_data_description: Se enviará un archivo con toda la información asociada a tu cuenta a <strong>%{user_email}</strong>. Este correo electrónico contendrá un archivo .zip y una contraseña para abrirlo.<br/><br/>Para descomprimir el archivo, necesitarás <a href="https://www.7-zip.org/">7-Zip</a> (para Windows) o <a href="https://www.keka.io/">Keka</a> (para MacOS). Si usas Linux, la mayoría de las veces lo tendrás instalado por defecto. Si no, puedes utilizar <a href="https://gitlab.gnome.org/GNOME/file-roller">File Roller</a> o <a href="https://peazip.github.io">PeaZip</a>).
586
+ request_data: Solicita datos
542
587
  editor_images:
543
588
  create:
544
589
  error: Error al subir la imagen
@@ -682,6 +727,8 @@ es:
682
727
  email_outro: Has recibido esta notificación porque eres una de las administradoras de la plataforma.
683
728
  email_subject: Un grupo ha actualizado su perfil
684
729
  notification_title: El grupo %{user_group_name} ha actualizado su perfil perdiendo la verificación. Puedes volver a verificarlo a través del <a href="%{groups_admin_path}">panel de administración</a>.
730
+ nickname_event:
731
+ notification_body: Hemos corregido la forma en que se utilizan los alias para que no haya duplicados, para hacerlo ya no se distingue entre mayúsculas y minúsculas. <br/> Tu alias fue creado después de otro igual, así que lo hemos renombrado automáticamente. Puedes modificarlo desde la <a href="%{link_to_account_settings}">configuración de tu cuenta</a>.
685
732
  notification_event:
686
733
  notification_title: Se ha producido un evento a <a href="%{resource_path}">%{resource_title}</a>.
687
734
  reports:
@@ -709,7 +756,7 @@ es:
709
756
  email_subject: "Se ha oficializado a %{name}"
710
757
  notification_title: La participante %{name} (%{nickname}) ha sido oficializada.
711
758
  export_mailer:
712
- data_portability_export:
759
+ download_your_data_export:
713
760
  click_button: 'Haz clic en el siguiente enlace para descargar tus datos.<br/>El archivo estará disponible hasta %{date}.<br/>Necesitarás <a href="https://www.7-zip.org/">7-Zip</a> (para Windows), <a href="https://www.keka.io/en/">Keka</a> (para MacOS) o <a href="https://peazip.github.io">PeaZip</a> (para Linux) para abrirlo. Contraseña: %{password}'
714
761
  download: Descargar
715
762
  export:
@@ -749,7 +796,6 @@ es:
749
796
  button: Dejar de seguir
750
797
  error: Se ha producido un error al dejar de seguir este recurso.
751
798
  forms:
752
- current_file: Archivo actual
753
799
  current_image: Imagen actual
754
800
  default_image: Imagen predeterminada
755
801
  errors:
@@ -761,15 +807,39 @@ es:
761
807
  file:
762
808
  explanation: 'Instrucciones para el archivo:'
763
809
  message_1: Tiene que ser una imagen o un documento.
764
- message_2: Para las imágenes, utilizar imágenes preferiblemente apaisadas, el servicio recorta la imagen. Para los archivos CSV, el separador entre columnas debe ser una coma (",")
810
+ message_2: Para las imágenes, utilizar imágenes apaisadas preferiblemente, el servicio recorta la imagen.
811
+ icon:
812
+ explanation: 'Instrucciones para el icono:'
813
+ message_1: Tiene que ser una imagen cuadrada.
814
+ message_2: El tamaño recomendado para esta imagen es 512x512.
765
815
  image:
766
816
  explanation: 'Instrucciones para la imagen:'
767
817
  message_1: Preferiblemente una imagen apaisada que no tenga ningún texto.
768
818
  message_2: El servicio recorta la imagen.
769
819
  file_validation:
770
820
  allowed_file_extensions: 'Formatos de archivo permitidos: %{extensions}'
821
+ max_file_dimension: 'Medidas máximas de archivo: %{resolution} píxeles'
771
822
  max_file_size: 'Tamaño máximo del archivo: %{megabytes}MB'
772
- remove_this_file: Eliminar este archivo
823
+ upload:
824
+ labels:
825
+ add_attachment: Añadir adjunto
826
+ add_file: Añadir archivo
827
+ add_image: Añadir imagen
828
+ cancel: Cancelar
829
+ edit_image: Editar imagen
830
+ error: '¡Error!'
831
+ file_size_too_large: '¡El archivo es demasiado grande! Peso de archivo máximo: %{megabytes}MB'
832
+ remove: Eliminar
833
+ replace: Reemplazar
834
+ save: Guardar
835
+ title: Título
836
+ title_required: '¡Se requiere un título!'
837
+ uploaded: Subido
838
+ validating: Validando...
839
+ validation_error: '¡Error de validación!'
840
+ upload_help:
841
+ dropzone: Arrastrar archivos aquí o haz clic para subirlos
842
+ explanation: Guía para %{attribute}
773
843
  gamification:
774
844
  all_badges_link: Ver todas las insígnias disponibles.
775
845
  badges:
@@ -870,6 +940,7 @@ es:
870
940
  success: La solicitud para formar parte se ha enviado correctamente. Una administradora revisará tu solicitud antes de aceptarte en el grupo.
871
941
  leave:
872
942
  error: Se ha producido un error al dejar el grupo
943
+ last_admin: No puedes abandonar este grupo porque eres la última administradora. Haz administradora a otra persona miembro para poder hacerlo.
873
944
  success: Has dejado el grupo correctamente.
874
945
  members:
875
946
  accept_or_reject_join_requests: 'Las siguientes participantes han solicitado unirse a este grupo. Acepta o rechaza sus solicitudes:'
@@ -882,7 +953,7 @@ es:
882
953
  no_user_groups: Aún no perteneces a ningún grupo.
883
954
  roles:
884
955
  admin: Administradora
885
- creator: Creadora
956
+ creator: Administradora
886
957
  member: Miembro
887
958
  update:
888
959
  error: Se ha producido un error al actualizar el grupo
@@ -919,6 +990,7 @@ es:
919
990
  unknown_action: "%{user_name} realizó una acción en %{resource_name}"
920
991
  unknown_action_with_space: "%{user_name} realizó una acción en %{resource_name} en %{space_name}"
921
992
  update: "%{user_name} actualizó %{resource_name}"
993
+ update_permissions_with_space: "%{user_name} ha actualizado los permisos de %{resource_name} en %{space_name}"
922
994
  update_with_space: "%{user_name} actualizó %{resource_name} en %{space_name}"
923
995
  value_types:
924
996
  area_presenter:
@@ -1009,7 +1081,7 @@ es:
1009
1081
  reply:
1010
1082
  placeholder: Tu respuesta...
1011
1083
  send: Enviar
1012
- title: Responder
1084
+ title: Respuesta
1013
1085
  show:
1014
1086
  back: Volver a todas las conversaciones
1015
1087
  chat_with: Conversación con
@@ -1018,7 +1090,7 @@ es:
1018
1090
  title: Conversación con %{usernames}
1019
1091
  start:
1020
1092
  send: Enviar
1021
- title: Iniciar una conversación
1093
+ title: Inicia una conversación
1022
1094
  update:
1023
1095
  error: El mensaje no fue enviado debido a un error
1024
1096
  metrics:
@@ -1091,23 +1163,47 @@ es:
1091
1163
  no_notifications: Aún no hay notificaciones.
1092
1164
  show:
1093
1165
  missing_event: Vaya, esta notificación pertenece a un elemento que ya no está disponible. Puedes descartarla.
1166
+ notifications_digest_mailer:
1167
+ header:
1168
+ daily: Resumen diario de notificaciones
1169
+ weekly: Resumen semanal de notificaciones
1170
+ hello: Hola %{name},
1171
+ intro:
1172
+ daily: 'Estas son las notificaciones del último día basadas en la actividad que estás siguiendo:'
1173
+ weekly: 'Estas son las notificaciones de la última semana basadas en la actividad que estás siguiendo:'
1174
+ outro: Has recibido estas notificaciones porque sigues este contenido o a sus autoras. Puedes dejar de seguirlas desde sus respectivas páginas.
1175
+ see_more: Ver más notificaciones
1176
+ subject: Este es tu correo resumen
1094
1177
  notifications_settings:
1095
1178
  show:
1096
1179
  administrators: Administradoras
1097
1180
  allow_public_contact: Permitir que cualquiera me envíe un mensaje directo, incluso si no le sigo.
1181
+ allow_push_notifications: Mostrar notificaciones emergentes para saber qué pasa cuando no estás en la plataforma. Puedes desactivarlas en cualquier momento.
1098
1182
  direct_messages: Recibir mensajes directos de cualquiera
1099
- email_on_moderations: Quiero recibir un correo electrónico cada vez que se reporta algo por moderación.
1100
- email_on_notification: Quiero recibir un correo electrónico cada vez que reciba una notificación.
1183
+ email_on_moderations: Quiero recibir un correo electrónico cada vez que se reporta algo o a alguien para moderación.
1101
1184
  everything_followed: Todo lo que sigo
1102
1185
  newsletter_notifications: Quiero recibir boletines informativos
1103
1186
  newsletters: Boletines informativos
1187
+ notification_settings:
1188
+ close_meeting_reminder: Quiero recibir recordatorios por correo electrónico de reuniones pasadas con informes sin publicar
1189
+ notifications_sending_frequencies:
1190
+ daily: Diariamente
1191
+ none: Ninguna
1192
+ real_time: En tiempo real
1193
+ weekly: Semanalmente
1194
+ notifications_sending_frequency: '¿Con qué frecuencia quieres recibir el correo resumen de notificaciones?'
1104
1195
  own_activity: Mi propia actividad, como cuando alguien comenta en mi propuesta o me menciona
1196
+ push_notifications: Notificaciones emergentes
1197
+ push_notifications_reminder: Para obtener notificaciones de la plataforma, primero tienes que permitirlas en la configuración de tu navegador.
1105
1198
  receive_notifications_about: Quiero recibir notificaciones
1106
- send_notifications_by_email: Enviar notificaciones por correo electrónico
1107
1199
  update_notifications_settings: Guardar cambios
1108
1200
  update:
1109
1201
  error: Se ha producido un error al actualizar la configuración de las notificaciones.
1110
1202
  success: La configuración de las notificaciones se ha actualizado correctamente.
1203
+ offline:
1204
+ show:
1205
+ message: Parece que estás desconectada. Por favor, inténtalo de nuevo más tarde.
1206
+ retry: Reintentar
1111
1207
  open_data:
1112
1208
  not_available_yet: Los ficheros Open Data aún no están disponibles, inténtalo de nuevo en unos minutos.
1113
1209
  own_user_groups:
@@ -1161,7 +1257,7 @@ es:
1161
1257
  agreement: Estoy de acuerdo con estos términos
1162
1258
  legend: Acepto los Términos y Condiciones de uso
1163
1259
  refuse:
1164
- modal_body: Si no aceptas, no podrás utilizar la plataforma, puedes <a href="%{data_portability_path}">descargar tus datos</a> y / o <a href="%{delete_path}">eliminar tu cuenta</a>.
1260
+ modal_body: Si no aceptas, no podrás utilizar la plataforma, puedes <a href="%{download_your_data_path}">descargar tus datos</a> y/o <a href="%{delete_path}">eliminar tu cuenta</a>.
1165
1261
  modal_btn_continue: Aceptar los términos y continuar
1166
1262
  modal_btn_exit: Lo revisaré más tarde
1167
1263
  modal_button: Rechazar los términos
@@ -1173,6 +1269,10 @@ es:
1173
1269
  title: 'Obligatorio: revisa las actualizaciones de nuestros Términos de Servicio'
1174
1270
  participatory_space_private_users:
1175
1271
  not_allowed: No tienes permiso para visualizar este contenido
1272
+ passwords:
1273
+ update:
1274
+ error: Ha habido un problema al actualizar la contraseña
1275
+ success: Contraseña actualizada correctamente
1176
1276
  profile:
1177
1277
  deleted: Participante eliminada
1178
1278
  inaccessible_message: '¡Este perfil es inaccesible debido a la violación de Términos y Condiciones de uso!'
@@ -1317,6 +1417,8 @@ es:
1317
1417
  close_modal: Cerrar el modal
1318
1418
  please_sign_in: Por favor, inicia sesión
1319
1419
  sign_up: Regístrate
1420
+ mentions_modal:
1421
+ remove_recipient: Eliminar destinataria %{name}
1320
1422
  participatory_space_filters:
1321
1423
  filters:
1322
1424
  areas: Áreas
@@ -1404,6 +1506,7 @@ es:
1404
1506
  notify:
1405
1507
  body_1: La usuaria %{user} ha sido reportada por %{token}
1406
1508
  body_2: 'Motivo: %{reason}'
1509
+ details: Datos proporcionados por la usuaria
1407
1510
  greetings: Saludos,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
1408
1511
  hello: Hola %{admin},
1409
1512
  subject: Una nueva usuaria ha sido reportada en %{organization_name}
@@ -1464,7 +1567,7 @@ es:
1464
1567
  invitations:
1465
1568
  edit:
1466
1569
  header: Termina de crear tu cuenta
1467
- nickname_help: Tu alias en %{organization}.
1570
+ nickname_help: Tu alias en %{organization}. Solo puede contener letras, números, '-' y '_'.
1468
1571
  submit_button: Guardar
1469
1572
  subtitle: Si aceptas la invitación, por favor establece tu alias y contraseña.
1470
1573
  invitation_removed: Se ha eliminado tu invitación.
@@ -1530,10 +1633,11 @@ es:
1530
1633
  passwords:
1531
1634
  edit:
1532
1635
  change_my_password: Cambiar mi contraseña
1533
- change_your_password: Cambia tu contraseña
1534
1636
  confirm_new_password: Confirmar la nueva contraseña
1535
1637
  new_password: Nueva contraseña
1536
1638
  password_help: "%{minimun_characters} caracteres mínimos, no debe ser demasiado común (por ejemplo, 123456) y debe ser diferente de tu apodo y tu correo electrónico."
1639
+ password_help_admin: "%{minimun_characters} caracteres mínimos, no debe ser demasiado común (por ejemplo, 123456) y debe ser diferente de tu apodo, de tu correo electrónico y de tus antiguas contraseñas."
1640
+ title: Cambio de contraseña
1537
1641
  new:
1538
1642
  forgot_your_password: '¿Olvidaste tu contraseña?'
1539
1643
  send_me_reset_password_instructions: Envíame instrucciones para restablecer la contraseña
@@ -1545,7 +1649,7 @@ es:
1545
1649
  registrations:
1546
1650
  destroyed: Tu cuenta se ha cancelado correctamente. Esperamos volver a verte pronto.
1547
1651
  edit:
1548
- are_you_sure: '¿Estás seguro?'
1652
+ are_you_sure: '¿Estás segura?'
1549
1653
  cancel_my_account: Cancelar mi cuenta
1550
1654
  currently_waiting_confirmation_for_email: 'Estamos esperando la confirmación para: %{email}'
1551
1655
  leave_blank_if_you_don_t_want_to_change_it: Déjalo en blanco si no quieres cambiarlo
@@ -1621,14 +1725,56 @@ es:
1621
1725
  timestamp_error_message: Lo siento, has sido demasiado rápido! Por favor, vuelve a enviar.
1622
1726
  layouts:
1623
1727
  decidim:
1624
- cookie_warning:
1625
- description_html: Este sitio web utiliza cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y servicios de interés. Al continuar la navegación entendemos que aceptas nuestra política de cookies. Para más información consulta %{link}.
1626
- link_label: aquí
1627
- ok: Estoy de acuerdo
1728
+ cookie_consent:
1729
+ cookie_details:
1730
+ columns:
1731
+ description: Descripción
1732
+ name: Nombre
1733
+ service: Servicio
1734
+ type: Tipo
1735
+ cookies:
1736
+ _session_id:
1737
+ description: Permite a los sitios web recordar a la usuaria dentro de un sitio web cuando se mueve entre páginas web.
1738
+ service: Esta página web
1739
+ decidim-consent:
1740
+ description: Almacena información sobre las cookies permitidas por la usuaria en esta página web.
1741
+ service: Esta página web
1742
+ types:
1743
+ cookie: Cookie
1744
+ dialog:
1745
+ accept_all: Aceptar todas
1746
+ accept_only_essential: Aceptar solo las esenciales
1747
+ cookie_settings: Configuración
1748
+ description: Utilizamos cookies en nuestro sitio web para mejorar el rendimiento y el contenido del mismo. Las cookies nos permiten ofrecer una experiencia de usuario y unos contenidos más personalizados desde nuestros canales de redes sociales.
1749
+ title: Información sobre las cookies utilizadas en la página web
1750
+ modal:
1751
+ accept_all: Aceptar todas
1752
+ accept_only_essential: Aceptar solo las esenciales
1753
+ analytics:
1754
+ description: Las cookies analíticas son cookies que rastrean cómo las usuarias navegan e interactúan con la página web. La información recopilada se utiliza para ayudar a la propietaria de la web a mejorar la página.
1755
+ title: Analíticas y estadísticas
1756
+ description: Utilizamos cookies para asegurar las funcionalidades básicas de la página web y para mejorar tu experiencia en línea. Puedes elegir activarlas o desactivarlas por cada categoría cuando quieras.
1757
+ essential:
1758
+ description: Estas cookies son esenciales para el buen funcionamiento de esta página web. Sin estas cookies, esta página web no funcionará correctamente.
1759
+ title: Esenciales
1760
+ marketing:
1761
+ description: Estas cookies recopilan información sobre cómo utilizas la plataforma, qué páginas visitaste y a qué enlaces hiciste clic.
1762
+ title: Marketing
1763
+ preferences:
1764
+ description: Estas cookies permiten a la plataforma recordar las opciones que has hecho en el pasado
1765
+ title: Preferencias
1766
+ save_settings: Guardar configuración
1767
+ title: Configuración de cookies
1768
+ toggle: Cambiar %{consent_category}
1769
+ warning:
1770
+ all_cookies: todas las cookies
1771
+ change_cookie_settings: Cambiar la configuración de cookies
1772
+ need_cookies: Necesitas habilitar %{cookies} para ver este contenido.
1628
1773
  edit_link:
1629
1774
  edit: Edita
1630
1775
  footer:
1631
1776
  cc_by_license: Con licencia Creative Commons
1777
+ cookie_settings: Configuración de cookies
1632
1778
  decidim_logo: Logo Decidim
1633
1779
  download_open_data: Descargar ficheros de datos abiertos
1634
1780
  made_with_open_source: Web creada con <a target="_blank" href="https://github.com/decidim/decidim">software libre</a>.
@@ -1648,6 +1794,8 @@ es:
1648
1794
  notifications_dashboard:
1649
1795
  mark_all_as_read: Marcar todo como leído
1650
1796
  mark_as_read: Marcar como leído
1797
+ offline_banner:
1798
+ cache_version_page: '¡Ups! Tu red está desconectada. Esta es una versión en caché de la página que estás visitando, quizás el contenido no está actualizado.'
1651
1799
  social_media_links:
1652
1800
  facebook: "%{organization} en Facebook"
1653
1801
  github: "%{organization} en GitHub"
@@ -1659,6 +1807,8 @@ es:
1659
1807
  continue_session: Continuar sesión
1660
1808
  sign_out: Cerrar sesión
1661
1809
  title: '¿Quieres continuar con la sesión?'
1810
+ upload_modal:
1811
+ close_modal: Cerrar ventana
1662
1812
  user_menu:
1663
1813
  account: 'Cuenta de usuario: %{name}'
1664
1814
  admin_dashboard: Tablero de administración
@@ -1681,7 +1831,7 @@ es:
1681
1831
  see_more: Ver más
1682
1832
  locale:
1683
1833
  name: Castellano
1684
- name_with_error: Castellano (¡error!)
1834
+ name_with_error: Inglés (¡error!)
1685
1835
  password_validator:
1686
1836
  blacklisted: en la lista negra
1687
1837
  domain_included_in_password: es demasiado similar a este nombre de dominio
@@ -1691,6 +1841,7 @@ es:
1691
1841
  nickname_included_in_password: es demasiado similar a tu alias
1692
1842
  not_enough_unique_characters: no tiene suficientes caracteres únicos
1693
1843
  password_not_allowed: no está permitido
1844
+ password_repeated: no puedes reutilizar una vieja contraseña
1694
1845
  password_too_common: es demasiado común
1695
1846
  password_too_long: es demasiado largo
1696
1847
  password_too_short: es demasiado corto
@@ -1 +1,2 @@
1
+ ---
1
2
  et: