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-MX:
2
3
  activemodel:
3
4
  attributes:
@@ -73,7 +74,8 @@ es-MX:
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-MX:
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-MX:
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: Tus datos están actualmente en progreso. 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-MX:
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: Tus datos están actualmente en progreso. 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-MX:
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} borró 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} creó la colección de adjuntos %{resource_name}"
175
+ delete: "%{user_name} eliminó la colección de adjuntos %{resource_name}"
176
+ update: "%{user_name} actualizó 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-MX:
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} a ser un usuario privado"
174
214
  create_via_csv: "%{user_name} invitó a %{resource_name} vía CSV a ser un participante privada"
@@ -180,6 +220,10 @@ es-MX:
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} creó el tipo de ámbito %{resource_name}"
225
+ delete: "%{user_name} borró el tipo de ámbito %{resource_name}"
226
+ update: "%{user_name} actualizó 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}"
@@ -306,6 +350,7 @@ es-MX:
306
350
  endorsements:
307
351
  one: adhesión
308
352
  other: adhesiones
353
+ official_author: Oficial
309
354
  authorization_handlers:
310
355
  another_dummy_authorization_handler:
311
356
  explanation: Verifíquese introduciendo un número de pasaporte que comience por "A"
@@ -396,6 +441,7 @@ es-MX:
396
441
  debate: Debate
397
442
  initiative: Iniciativa
398
443
  meeting: Encuentro
444
+ order: Votación presupuestaria
399
445
  post: Publicar
400
446
  proposal: Propuesta
401
447
  question: Pregunta
@@ -410,8 +456,8 @@ es-MX:
410
456
  amendments_enabled: Enmiendas habilitadas
411
457
  comments_enabled: Comentarios habilitados
412
458
  comments_max_length: Longitud máxima de los comentarios
413
- dummy_global_attribute_1: Atributo de prueba 1
414
- dummy_global_attribute_2: Atributo de prueba 2
459
+ dummy_global_attribute1: Atributo de prueba 1
460
+ dummy_global_attribute2: Atributo de prueba 2
415
461
  dummy_global_translatable_text: Texto de ejemplo traducible
416
462
  enable_pads_creation: Habilitar la creación de pads
417
463
  resources_permissions_enabled: Habilitar permisos de recursos
@@ -423,8 +469,8 @@ es-MX:
423
469
  amendment_reaction_enabled: Reacción de enmienda activada
424
470
  amendments_visibility: Visibilidad de la enmienda
425
471
  comments_blocked: Comentarios bloqueados
426
- dummy_step_attribute_1: Atributo de fase de prueba 1
427
- dummy_step_attribute_2: Atributo de fase de prueba 2
472
+ dummy_step_attribute1: Atributo de fase de prueba 1
473
+ dummy_step_attribute2: Atributo de fase de prueba 2
428
474
  dummy_step_translatable_text: Fase de ejemplo traducible
429
475
  contact: Contacto
430
476
  content_blocks:
@@ -468,13 +514,6 @@ es-MX:
468
514
  actions:
469
515
  login_before_access: Por favor, inicia sesión con tu cuenta antes de acceder
470
516
  unauthorized: No tienes permiso para realizar esta acción.
471
- data_portability:
472
- export:
473
- ready: Listo
474
- show:
475
- download_data: Descargar los datos
476
- 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>).
477
- request_data: Solicitar datos
478
517
  datepicker:
479
518
  help_text: 'Formato esperado: %{datepicker_format}'
480
519
  devise:
@@ -493,7 +532,6 @@ es-MX:
493
532
  newsletter: Quiero recibir un boletín ocasional con información relevante
494
533
  newsletter_title: Permiso de contacto
495
534
  nickname_help: Tu alias en %{organization}. Solo puede contener letras, números, '-' y '_'.
496
- 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."
497
535
  sign_in: Entra
498
536
  sign_up: Regístrate
499
537
  sign_up_as:
@@ -542,6 +580,13 @@ es-MX:
542
580
  this_application_will_not_be_able_to: 'Esta aplicación no podrá:'
543
581
  update_profile: Actualiza tu perfil
544
582
  wants_to_use_your_account_html: "<strong>%{application_name}</strong> quiere usar tu cuenta"
583
+ download_your_data:
584
+ export:
585
+ ready: Listo
586
+ show:
587
+ download_data: Descargar los datos
588
+ 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>).
589
+ request_data: Solicitar datos
545
590
  editor_images:
546
591
  create:
547
592
  error: Error al subir la imagen
@@ -685,6 +730,8 @@ es-MX:
685
730
  email_outro: Has recibido esta notificación porque eres una de las administradoras de la plataforma.
686
731
  email_subject: Un grupo de usuarias ha actualizado su perfil
687
732
  notification_title: El grupo de usuarias %{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>.
733
+ nickname_event:
734
+ 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>.
688
735
  notification_event:
689
736
  notification_title: Un evento ha ocurrido en <a href="%{resource_path}">%{resource_title}</a>.
690
737
  reports:
@@ -712,7 +759,7 @@ es-MX:
712
759
  email_subject: "Se ha oficializado a %{name}"
713
760
  notification_title: La participante %{name} (%{nickname}) ha sido oficializada.
714
761
  export_mailer:
715
- data_portability_export:
762
+ download_your_data_export:
716
763
  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}'
717
764
  download: Descargar
718
765
  export:
@@ -752,7 +799,6 @@ es-MX:
752
799
  button: Dejar de seguir
753
800
  error: Ha habido un error dejando de seguir este recurso.
754
801
  forms:
755
- current_file: Archivo actual
756
802
  current_image: Imagen actual
757
803
  default_image: Imagen predeterminada
758
804
  errors:
@@ -764,15 +810,39 @@ es-MX:
764
810
  file:
765
811
  explanation: 'Instrucciones para el archivo:'
766
812
  message_1: Tiene que ser una imagen o un documento.
767
- 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 (",")
813
+ message_2: Para las imágenes, utilizar imágenes apaisadas preferiblemente, el servicio recorta la imagen.
814
+ icon:
815
+ explanation: 'Instrucciones para el icono:'
816
+ message_1: Tiene que ser una imagen cuadrada.
817
+ message_2: El tamaño recomendado para esta imagen es 512x512.
768
818
  image:
769
819
  explanation: 'Instrucciones para la imagen:'
770
820
  message_1: Preferiblemente una imagen de paisaje que no tenga ningún texto.
771
821
  message_2: El servicio recorta la imagen.
772
822
  file_validation:
773
823
  allowed_file_extensions: 'Formatos de archivo permitidos: %{extensions}'
824
+ max_file_dimension: 'Medidas máximas de archivo: %{resolution} píxeles'
774
825
  max_file_size: 'Tamaño máximo del archivo: %{megabytes}MB'
775
- remove_this_file: Eliminar este archivo
826
+ upload:
827
+ labels:
828
+ add_attachment: Añadir adjunto
829
+ add_file: Añadir archivo
830
+ add_image: Añadir imagen
831
+ cancel: Cancelar
832
+ edit_image: Editar imagen
833
+ error: '¡Error!'
834
+ file_size_too_large: '¡El archivo es demasiado grande! Peso de archivo máximo: %{megabytes}MB'
835
+ remove: Eliminar
836
+ replace: Reemplazar
837
+ save: Guardar
838
+ title: Título
839
+ title_required: '¡Se requiere un título!'
840
+ uploaded: Subido
841
+ validating: Validando...
842
+ validation_error: '¡Error de validación!'
843
+ upload_help:
844
+ dropzone: Arrastrar archivos aquí o haz clic para subirlos
845
+ explanation: Guía para %{attribute}
776
846
  gamification:
777
847
  all_badges_link: Ver todas los distintivos disponibles.
778
848
  badges:
@@ -873,6 +943,7 @@ es-MX:
873
943
  success: Solicitud enviada correctamente. Un administrador la revisará antes de aceptarte en el grupo.
874
944
  leave:
875
945
  error: Ha habido un problema al dejar el grupo
946
+ last_admin: No puedes abandonar este grupo porque eres la última administradora. Haz administradora a otra persona miembro para poder hacerlo.
876
947
  success: Has dejado el grupo correctamente.
877
948
  members:
878
949
  accept_or_reject_join_requests: 'Los siguientes usuarios han solicitado unirse a este grupo. Acepta o rechaza sus solicitudes:'
@@ -885,7 +956,7 @@ es-MX:
885
956
  no_user_groups: Aún no perteneces a ningún grupo.
886
957
  roles:
887
958
  admin: Administrador
888
- creator: Creador
959
+ creator: Administradora
889
960
  member: Miembro
890
961
  update:
891
962
  error: Ha habido un problema al actualizar el grupo
@@ -922,6 +993,7 @@ es-MX:
922
993
  unknown_action: "%{user_name} realizó una acción en %{resource_name}"
923
994
  unknown_action_with_space: "%{user_name} realizó una acción en %{resource_name} en %{space_name}"
924
995
  update: "%{user_name} actualizó %{resource_name}"
996
+ update_permissions_with_space: "%{user_name} ha actualizado los permisos de %{resource_name} en %{space_name}"
925
997
  update_with_space: "%{user_name} actualizó %{resource_name} en %{space_name}"
926
998
  value_types:
927
999
  area_presenter:
@@ -1012,7 +1084,7 @@ es-MX:
1012
1084
  reply:
1013
1085
  placeholder: Tu respuesta...
1014
1086
  send: Enviar
1015
- title: Responder
1087
+ title: Respuesta
1016
1088
  show:
1017
1089
  back: Volver a todas las conversaciones
1018
1090
  chat_with: Conversación con
@@ -1094,23 +1166,47 @@ es-MX:
1094
1166
  no_notifications: No hay notificaciones aún.
1095
1167
  show:
1096
1168
  missing_event: Vaya, esta notificación pertenece a un elemento que ya no está disponible. Puedes descartarla.
1169
+ notifications_digest_mailer:
1170
+ header:
1171
+ daily: Resumen diario de notificaciones
1172
+ weekly: Resumen semanal de notificaciones
1173
+ hello: Hola %{name},
1174
+ intro:
1175
+ daily: 'Estas son las notificaciones del último día basadas en la actividad que estás siguiendo:'
1176
+ weekly: 'Estas son las notificaciones de la última semana basadas en la actividad que estás siguiendo:'
1177
+ outro: Has recibido estas notificaciones porque sigues este contenido o a sus autoras. Puedes dejar de seguirlas desde sus respectivas páginas.
1178
+ see_more: Ver más notificaciones
1179
+ subject: Este es tu correo resumen
1097
1180
  notifications_settings:
1098
1181
  show:
1099
1182
  administrators: Administradoras
1100
1183
  allow_public_contact: Permitir que cualquiera me envíe un mensaje directo, incluso si no le sigo.
1184
+ allow_push_notifications: Mostrar notificaciones emergentes para saber qué pasa cuando no estás en la plataforma. Puedes desactivarlas en cualquier momento.
1101
1185
  direct_messages: Recibir mensajes directos de cualquiera
1102
- email_on_moderations: Quiero recibir un correo electrónico cada vez que se reporta algo por moderación.
1103
- email_on_notification: Quiero recibir un correo electrónico cada vez que recibo una notificación.
1186
+ email_on_moderations: Quiero recibir un correo electrónico cada vez que se reporta algo o a alguien para moderación.
1104
1187
  everything_followed: Todo lo que sigo
1105
1188
  newsletter_notifications: Quiero recibir boletines informativos
1106
1189
  newsletters: Boletines de noticias
1190
+ notification_settings:
1191
+ close_meeting_reminder: Quiero recibir recordatorios por correo electrónico de reuniones pasadas con informes sin publicar
1192
+ notifications_sending_frequencies:
1193
+ daily: Diariamente
1194
+ none: Ninguna
1195
+ real_time: En tiempo real
1196
+ weekly: Semanalmente
1197
+ notifications_sending_frequency: '¿Con qué frecuencia quieres recibir el correo resumen de notificaciones?'
1107
1198
  own_activity: Mi propia actividad, como cuando alguien comenta en mi propuesta o me menciona.
1199
+ push_notifications: Notificaciones emergentes
1200
+ push_notifications_reminder: Para obtener notificaciones de la plataforma, primero tienes que permitirlas en la configuración de tu navegador.
1108
1201
  receive_notifications_about: Quiero recibir notificaciones sobre
1109
- send_notifications_by_email: Enviar notificaciones por correo electrónico
1110
1202
  update_notifications_settings: Guardar cambios
1111
1203
  update:
1112
1204
  error: Ha habido un error al actualizar la configuración de las notificaciones.
1113
1205
  success: La configuración de las notificaciones se han actualizado correctamente.
1206
+ offline:
1207
+ show:
1208
+ message: Parece que estás desconectada. Por favor, inténtalo de nuevo más tarde.
1209
+ retry: Reintentar
1114
1210
  open_data:
1115
1211
  not_available_yet: Los ficheros de datos abiertos aún no están disponibles, inténtalo de nuevo en unos minutos.
1116
1212
  own_user_groups:
@@ -1164,7 +1260,7 @@ es-MX:
1164
1260
  agreement: Estoy de acuerdo con estos términos
1165
1261
  legend: Aceptar los Términos y Condiciones de uso
1166
1262
  refuse:
1167
- 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>.
1263
+ 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>.
1168
1264
  modal_btn_continue: Aceptar los términos y continuar
1169
1265
  modal_btn_exit: Lo revisaré más tarde
1170
1266
  modal_button: Rechazar los términos
@@ -1176,6 +1272,10 @@ es-MX:
1176
1272
  title: 'Obligatorio: revisa las actualizaciones de nuestros Términos de Servicio'
1177
1273
  participatory_space_private_users:
1178
1274
  not_allowed: No puedes ver este contenido
1275
+ passwords:
1276
+ update:
1277
+ error: Ha habido un problema al actualizar la contraseña
1278
+ success: Contraseña actualizada correctamente
1179
1279
  profile:
1180
1280
  deleted: Usuario eliminado
1181
1281
  inaccessible_message: '¡Este perfil es inaccesible debido a la violación de Términos y Condiciones de uso!'
@@ -1320,6 +1420,8 @@ es-MX:
1320
1420
  close_modal: Cerrar el modal
1321
1421
  please_sign_in: Por favor, regístrate
1322
1422
  sign_up: Regístrate
1423
+ mentions_modal:
1424
+ remove_recipient: Eliminar destinataria %{name}
1323
1425
  participatory_space_filters:
1324
1426
  filters:
1325
1427
  areas: Áreas
@@ -1407,6 +1509,7 @@ es-MX:
1407
1509
  notify:
1408
1510
  body_1: La usuaria %{user} ha sido reportada por %{token}
1409
1511
  body_2: 'Motivo: %{reason}'
1512
+ details: Datos proporcionados por la usuaria
1410
1513
  greetings: Saludos,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
1411
1514
  hello: Hola %{admin},
1412
1515
  subject: Una nueva usuaria ha sido reportada en %{organization_name}
@@ -1467,7 +1570,7 @@ es-MX:
1467
1570
  invitations:
1468
1571
  edit:
1469
1572
  header: Termina de crear tu cuenta
1470
- nickname_help: Tu identificador único en %{organization}.
1573
+ nickname_help: Tu alias en %{organization}. Solo puede contener letras, números, '-' y '_'.
1471
1574
  submit_button: Guardar
1472
1575
  subtitle: Si aceptas la invitación, por favor establece tu nombre de usuario/a y contraseña.
1473
1576
  invitation_removed: Tu invitación fue eliminada.
@@ -1534,10 +1637,11 @@ es-MX:
1534
1637
  passwords:
1535
1638
  edit:
1536
1639
  change_my_password: Cambiar mi contraseña
1537
- change_your_password: Cambia tu contraseña
1538
1640
  confirm_new_password: Confirmar la nueva contraseña
1539
1641
  new_password: Contraseña
1540
1642
  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."
1643
+ 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."
1644
+ title: Cambio de contraseña
1541
1645
  new:
1542
1646
  forgot_your_password: '¿Olvidaste tu contraseña?'
1543
1647
  send_me_reset_password_instructions: Enviarme instrucciones para restablecer la contraseña
@@ -1625,14 +1729,56 @@ es-MX:
1625
1729
  timestamp_error_message: Lo siento, has sido demasiado rápido! Por favor, vuelva a enviar.
1626
1730
  layouts:
1627
1731
  decidim:
1628
- cookie_warning:
1629
- 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 se acepta nuestra política de cookies. Para más información consulta %{link}.
1630
- link_label: aquí
1631
- ok: Estoy de acuerdo
1732
+ cookie_consent:
1733
+ cookie_details:
1734
+ columns:
1735
+ description: Descripción
1736
+ name: Nombre
1737
+ service: Servicio
1738
+ type: Tipo
1739
+ cookies:
1740
+ _session_id:
1741
+ description: Permite a los sitios web recordar a la usuaria dentro de un sitio web cuando se mueve entre páginas web.
1742
+ service: Esta página web
1743
+ decidim-consent:
1744
+ description: Almacena información sobre las cookies permitidas por la usuaria en esta página web.
1745
+ service: Esta página web
1746
+ types:
1747
+ cookie: Cookie
1748
+ dialog:
1749
+ accept_all: Aceptar todas
1750
+ accept_only_essential: Aceptar solo las esenciales
1751
+ cookie_settings: Configuración
1752
+ 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.
1753
+ title: Información sobre las cookies utilizadas en la página web
1754
+ modal:
1755
+ accept_all: Aceptar todas
1756
+ accept_only_essential: Aceptar solo las esenciales
1757
+ analytics:
1758
+ 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.
1759
+ title: Analíticas y estadísticas
1760
+ 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.
1761
+ essential:
1762
+ description: Estas cookies son esenciales para el buen funcionamiento de esta página web. Sin estas cookies, esta página web no funcionará correctamente.
1763
+ title: Esenciales
1764
+ marketing:
1765
+ description: Estas cookies recopilan información sobre cómo utilizas la plataforma, qué páginas visitaste y a qué enlaces hiciste clic.
1766
+ title: Marketing
1767
+ preferences:
1768
+ description: Estas cookies permiten a la plataforma recordar las opciones que has hecho en el pasado
1769
+ title: Preferencias
1770
+ save_settings: Guardar configuración
1771
+ title: Configuración de cookies
1772
+ toggle: Cambiar %{consent_category}
1773
+ warning:
1774
+ all_cookies: todas las cookies
1775
+ change_cookie_settings: Cambiar la configuración de cookies
1776
+ need_cookies: Necesitas habilitar %{cookies} para ver este contenido.
1632
1777
  edit_link:
1633
1778
  edit: Editar
1634
1779
  footer:
1635
1780
  cc_by_license: Con licencia Creative Commons
1781
+ cookie_settings: Configuración de cookies
1636
1782
  decidim_logo: Logo Decidim
1637
1783
  download_open_data: Descargar ficheros de datos abiertos
1638
1784
  made_with_open_source: Sitio web creado con <a target="_blank" href="https://github.com/decidim/decidim">software libre</a>.
@@ -1652,6 +1798,8 @@ es-MX:
1652
1798
  notifications_dashboard:
1653
1799
  mark_all_as_read: Marcar todo como leído
1654
1800
  mark_as_read: Marcar como leído
1801
+ offline_banner:
1802
+ 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.'
1655
1803
  social_media_links:
1656
1804
  facebook: "%{organization} en Facebook"
1657
1805
  github: "%{organization} en GitHub"
@@ -1663,6 +1811,8 @@ es-MX:
1663
1811
  continue_session: Continuar sesión
1664
1812
  sign_out: Cerrar sesión
1665
1813
  title: '¿Quieres continuar con la sesión?'
1814
+ upload_modal:
1815
+ close_modal: Cerrar ventana
1666
1816
  user_menu:
1667
1817
  account: 'Cuenta de usuario: %{name}'
1668
1818
  admin_dashboard: Tablero de administración
@@ -1685,7 +1835,7 @@ es-MX:
1685
1835
  see_more: Ver más
1686
1836
  locale:
1687
1837
  name: Español
1688
- name_with_error: Español (¡error!)
1838
+ name_with_error: Inglés (¡error!)
1689
1839
  password_validator:
1690
1840
  blacklisted: en la lista negra
1691
1841
  domain_included_in_password: Es muy similar a este nombre de dominio
@@ -1695,6 +1845,7 @@ es-MX:
1695
1845
  nickname_included_in_password: es demasiado similar a tu alias
1696
1846
  not_enough_unique_characters: No tiene suficientes caracteres únicos
1697
1847
  password_not_allowed: No se permite
1848
+ password_repeated: no puedes reutilizar una vieja contraseña
1698
1849
  password_too_common: Es demasiado común
1699
1850
  password_too_long: Es demasiado largo
1700
1851
  password_too_short: Es demasiado corto