decidim-core 0.29.2 → 0.30.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (474) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/amendable/amend_button_card/show.erb +6 -4
  3. data/app/cells/decidim/amendable/amend_button_card_cell.rb +8 -0
  4. data/app/cells/decidim/amendable/amendments/show.erb +1 -1
  5. data/app/cells/decidim/amendable/promote_button_card/show.erb +2 -0
  6. data/app/cells/decidim/author_cell.rb +1 -1
  7. data/app/cells/decidim/card_l/extra_data.erb +1 -0
  8. data/app/cells/decidim/card_metadata_cell.rb +9 -16
  9. data/app/cells/decidim/comments_button_cell.rb +14 -2
  10. data/app/cells/decidim/content_blocks/highlighted_elements_cell.rb +2 -0
  11. data/app/cells/decidim/content_blocks/highlighted_elements_with_cell_for_list_cell.rb +1 -1
  12. data/app/cells/decidim/endorsement_block/show.erb +0 -1
  13. data/app/cells/decidim/endorsement_block_cell.rb +6 -0
  14. data/app/cells/decidim/endorsement_buttons/button_content.erb +1 -1
  15. data/app/cells/decidim/endorsement_buttons/select_identity_button.erb +1 -1
  16. data/app/cells/decidim/endorsement_buttons/show.erb +7 -7
  17. data/app/cells/decidim/endorsement_buttons/verification_modal.erb +4 -2
  18. data/app/cells/decidim/endorsers_list/empty.erb +3 -0
  19. data/app/cells/decidim/endorsers_list/full.erb +17 -5
  20. data/app/cells/decidim/endorsers_list/show.erb +19 -10
  21. data/app/cells/decidim/endorsers_list_cell.rb +19 -6
  22. data/app/cells/decidim/follow_button/show.erb +1 -2
  23. data/app/cells/decidim/follow_button_cell.rb +5 -0
  24. data/app/cells/decidim/map/show.erb +3 -0
  25. data/app/cells/decidim/map/template.erb +14 -0
  26. data/app/cells/decidim/map_cell.rb +39 -0
  27. data/app/cells/decidim/notification_actions/buttons_cell.rb +1 -1
  28. data/app/cells/decidim/onboarding_action_message/show.erb +15 -0
  29. data/app/cells/decidim/onboarding_action_message_cell.rb +81 -0
  30. data/app/cells/decidim/participatory_space_private_user/show.erb +23 -0
  31. data/app/cells/decidim/participatory_space_private_user_cell.rb +21 -0
  32. data/app/cells/decidim/progress_bar/show.erb +2 -2
  33. data/app/cells/decidim/report_button_cell.rb +1 -0
  34. data/app/cells/decidim/resource_history/show.erb +20 -0
  35. data/app/cells/decidim/resource_history_cell.rb +66 -0
  36. data/app/cells/decidim/share_button_cell.rb +0 -4
  37. data/app/cells/decidim/share_widget/modal.erb +26 -0
  38. data/app/cells/decidim/share_widget/show.erb +2 -0
  39. data/app/cells/decidim/share_widget_cell.rb +20 -0
  40. data/app/cells/decidim/tags/show.erb +7 -4
  41. data/app/cells/decidim/tags_cell.rb +11 -72
  42. data/app/commands/decidim/amendable/create_draft.rb +2 -2
  43. data/app/commands/decidim/create_ephemeral_user.rb +52 -0
  44. data/app/commands/decidim/create_omniauth_registration.rb +13 -3
  45. data/app/commands/decidim/create_report.rb +1 -5
  46. data/app/commands/decidim/create_user_group.rb +6 -2
  47. data/app/commands/decidim/destroy_ephemeral_user.rb +47 -0
  48. data/app/commands/decidim/update_account.rb +11 -3
  49. data/app/commands/decidim/update_notifications_settings.rb +1 -0
  50. data/app/commands/decidim/update_resources_taxonomies.rb +67 -0
  51. data/app/commands/decidim/update_user_group.rb +7 -1
  52. data/app/constraints/decidim/current_component.rb +1 -1
  53. data/app/controllers/concerns/decidim/ajax_permission_handler.rb +21 -0
  54. data/app/controllers/concerns/decidim/devise_authentication_methods.rb +3 -6
  55. data/app/controllers/concerns/decidim/devise_controllers.rb +2 -0
  56. data/app/controllers/concerns/decidim/disable_redirection_to_external_host.rb +1 -1
  57. data/app/controllers/concerns/decidim/ephemeral_session_checker.rb +87 -0
  58. data/app/controllers/concerns/decidim/filter_resource.rb +4 -2
  59. data/app/controllers/concerns/decidim/has_members_page.rb +25 -0
  60. data/app/controllers/concerns/decidim/headers/browser_feature_permissions.rb +50 -0
  61. data/app/controllers/concerns/decidim/locale_switcher.rb +2 -2
  62. data/app/controllers/concerns/decidim/needs_password_change.rb +0 -1
  63. data/app/controllers/concerns/decidim/needs_permission.rb +2 -1
  64. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +4 -5
  65. data/app/controllers/concerns/decidim/onboarding_action_methods.rb +52 -0
  66. data/app/controllers/decidim/application_controller.rb +10 -0
  67. data/app/controllers/decidim/authorization_modals_controller.rb +8 -2
  68. data/app/controllers/decidim/components/base_controller.rb +3 -7
  69. data/app/controllers/decidim/devise/confirmations_controller.rb +4 -0
  70. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +8 -1
  71. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  72. data/app/controllers/decidim/devise/sessions_controller.rb +2 -0
  73. data/app/controllers/decidim/download_your_data_controller.rb +33 -2
  74. data/app/controllers/decidim/editor_images_controller.rb +1 -11
  75. data/app/controllers/decidim/follows_controller.rb +1 -1
  76. data/app/controllers/decidim/geolocation_controller.rb +19 -0
  77. data/app/controllers/decidim/homepage_controller.rb +0 -1
  78. data/app/controllers/decidim/open_data_controller.rb +33 -8
  79. data/app/controllers/decidim/user_conversations_controller.rb +1 -11
  80. data/app/events/decidim/soft_delete_resource_event.rb +15 -0
  81. data/app/forms/decidim/amendable/form.rb +4 -2
  82. data/app/forms/decidim/ephemeral_user_form.rb +22 -0
  83. data/app/forms/decidim/notifications_settings_form.rb +1 -0
  84. data/app/forms/decidim/omniauth_registration_form.rb +14 -1
  85. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +17 -2
  86. data/app/helpers/decidim/action_authorization_helper.rb +75 -14
  87. data/app/helpers/decidim/amendments_helper.rb +0 -9
  88. data/app/helpers/decidim/application_helper.rb +6 -2
  89. data/app/helpers/decidim/breadcrumb_helper.rb +6 -0
  90. data/app/helpers/decidim/cache_helper.rb +1 -1
  91. data/app/helpers/decidim/check_boxes_tree_helper.rb +25 -53
  92. data/app/helpers/decidim/decidim_form_helper.rb +0 -44
  93. data/app/helpers/decidim/endorsable_helper.rb +0 -10
  94. data/app/helpers/decidim/layout_helper.rb +6 -0
  95. data/app/helpers/decidim/messaging/conversation_helper.rb +2 -3
  96. data/app/helpers/decidim/meta_tags_helper.rb +32 -23
  97. data/app/helpers/decidim/modal_helper.rb +23 -0
  98. data/app/helpers/decidim/omniauth_helper.rb +5 -5
  99. data/app/helpers/decidim/onboarding_action_helper.rb +13 -0
  100. data/app/helpers/decidim/passwords_helper.rb +2 -2
  101. data/app/helpers/decidim/taxonomies_helper.rb +40 -0
  102. data/app/jobs/decidim/download_your_data_export_job.rb +2 -19
  103. data/app/jobs/decidim/event_publisher_job.rb +18 -9
  104. data/app/jobs/decidim/export_job.rb +5 -1
  105. data/app/jobs/decidim/export_participatory_space_job.rb +4 -1
  106. data/app/jobs/decidim/open_data_job.rb +4 -4
  107. data/app/mailers/decidim/export_mailer.rb +7 -12
  108. data/app/models/decidim/action_log.rb +11 -0
  109. data/app/models/decidim/category.rb +4 -0
  110. data/app/models/decidim/component.rb +25 -3
  111. data/app/models/decidim/metric.rb +2 -1
  112. data/app/models/decidim/moderation.rb +16 -0
  113. data/app/models/decidim/newsletter.rb +12 -8
  114. data/app/models/decidim/organization.rb +7 -3
  115. data/app/models/decidim/participatory_space_private_user.rb +20 -0
  116. data/app/models/decidim/private_export.rb +24 -0
  117. data/app/models/decidim/push_notification_message.rb +1 -1
  118. data/app/models/decidim/scope.rb +4 -0
  119. data/app/models/decidim/share_token.rb +36 -10
  120. data/app/models/decidim/taxonomization.rb +23 -0
  121. data/app/models/decidim/taxonomy.rb +139 -0
  122. data/app/models/decidim/taxonomy_filter.rb +130 -0
  123. data/app/models/decidim/taxonomy_filter_item.rb +33 -0
  124. data/app/models/decidim/user.rb +9 -23
  125. data/app/models/decidim/user_base_entity.rb +12 -0
  126. data/app/models/decidim/user_moderation.rb +9 -0
  127. data/app/models/decidim/user_report.rb +4 -0
  128. data/app/packs/entrypoints/decidim_core.js +1 -0
  129. data/app/packs/entrypoints/decidim_geocoding.js +2 -0
  130. data/app/packs/images/decidim/brands/facebook.svg +10 -0
  131. data/app/packs/images/decidim/brands/google.svg +7 -1
  132. data/app/packs/images/decidim/brands/twitter-x.svg +3 -0
  133. data/app/packs/src/decidim/check_boxes_tree.js +0 -1
  134. data/app/packs/src/decidim/clipboard.js +18 -9
  135. data/app/packs/src/decidim/confirm.js +79 -59
  136. data/app/packs/src/decidim/decidim_application.js +1 -0
  137. data/app/packs/src/decidim/form_remote.js +1 -1
  138. data/app/packs/src/decidim/geocoding/reverse_geocoding.js +60 -0
  139. data/app/packs/src/decidim/impersonation.js +1 -1
  140. data/app/packs/src/decidim/index.js +11 -1
  141. data/app/packs/src/decidim/onboarding_pending_action.js +24 -0
  142. data/app/packs/src/decidim/session_timeouter.js +1 -1
  143. data/app/packs/src/decidim/sticky_footer.js +29 -0
  144. data/app/packs/src/decidim/sticky_header.js +6 -31
  145. data/app/packs/src/decidim/user_registrations.js +13 -0
  146. data/app/packs/src/decidim/utilities/dom.js +148 -0
  147. data/app/packs/stylesheets/decidim/_accordion.scss +30 -0
  148. data/app/packs/stylesheets/decidim/_buttons.scss +19 -0
  149. data/app/packs/stylesheets/decidim/_dropdown.scss +1 -1
  150. data/app/packs/stylesheets/decidim/_endorsers_list.scss +26 -20
  151. data/app/packs/stylesheets/decidim/_forms.scss +2 -2
  152. data/app/packs/stylesheets/decidim/_header.scss +5 -3
  153. data/app/packs/stylesheets/decidim/_layout.scss +32 -2
  154. data/app/packs/stylesheets/decidim/_login.scss +53 -6
  155. data/app/packs/stylesheets/decidim/_modal.scss +42 -0
  156. data/app/packs/stylesheets/decidim/_modal_tos_refuse.scss +4 -0
  157. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +46 -0
  158. data/app/packs/stylesheets/decidim/_profile.scss +1 -1
  159. data/app/packs/stylesheets/decidim/_success_image.scss +64 -0
  160. data/app/packs/stylesheets/decidim/_tribute.scss +36 -0
  161. data/app/packs/stylesheets/decidim/application.scss +1 -0
  162. data/app/packs/stylesheets/decidim/geocoding_addons.scss +5 -0
  163. data/app/packs/stylesheets/decidim/map.scss +7 -10
  164. data/app/packs/stylesheets/decidim/resource_history.scss +31 -0
  165. data/app/permissions/decidim/permissions.rb +8 -2
  166. data/app/presenters/decidim/admin_log/base_user_presenter.rb +67 -0
  167. data/app/presenters/decidim/admin_log/component_presenter.rb +32 -3
  168. data/app/presenters/decidim/admin_log/moderation_presenter.rb +30 -3
  169. data/app/presenters/decidim/admin_log/share_token_presenter.rb +39 -0
  170. data/app/presenters/decidim/admin_log/taxonomy_filter_presenter.rb +57 -0
  171. data/app/presenters/decidim/admin_log/taxonomy_presenter.rb +48 -0
  172. data/app/presenters/decidim/admin_log/user_group_presenter.rb +6 -6
  173. data/app/presenters/decidim/admin_log/user_presenter.rb +4 -18
  174. data/app/presenters/decidim/log/value_types/date_presenter.rb +1 -0
  175. data/app/presenters/decidim/log/value_types/taxonomy_presenter.rb +29 -0
  176. data/app/presenters/decidim/participatory_space_private_user_presenter.rb +50 -0
  177. data/app/presenters/decidim/taxonomy_filter_presenter.rb +19 -0
  178. data/app/presenters/decidim/taxonomy_presenter.rb +14 -0
  179. data/app/queries/decidim/metrics/blocked_users_metric_manage.rb +2 -2
  180. data/app/queries/decidim/metrics/users_metric_manage.rb +2 -2
  181. data/app/queries/decidim/public_activities.rb +1 -12
  182. data/app/queries/decidim/stats_users_count.rb +2 -2
  183. data/app/resolvers/decidim/meta_image_url_resolver.rb +128 -0
  184. data/app/serializers/decidim/exporters/open_data_blocked_user_serializer.rb +25 -0
  185. data/app/serializers/decidim/exporters/open_data_metric_serializer.rb +22 -0
  186. data/app/serializers/decidim/exporters/open_data_moderation_serializer.rb +30 -0
  187. data/app/serializers/decidim/exporters/open_data_taxonomy_serializer.rb +30 -0
  188. data/app/serializers/decidim/exporters/open_data_user_group_serializer.rb +38 -0
  189. data/app/serializers/decidim/exporters/open_data_user_serializer.rb +39 -0
  190. data/app/serializers/decidim/exporters/participatory_space_serializer.rb +104 -0
  191. data/app/serializers/decidim/exporters/serializer.rb +25 -0
  192. data/app/serializers/decidim/schema_org_breadcrumb_list_serializer.rb +52 -0
  193. data/app/services/decidim/action_authorizer.rb +32 -3
  194. data/app/services/decidim/base_diff_renderer.rb +1 -1
  195. data/app/services/decidim/download_your_data_exporter.rb +58 -24
  196. data/app/services/decidim/onboarding_manager.rb +272 -0
  197. data/app/services/decidim/open_data_exporter.rb +139 -13
  198. data/app/services/decidim/traceability.rb +13 -0
  199. data/app/uploaders/decidim/application_uploader.rb +1 -1
  200. data/app/validators/etiquette_validator.rb +9 -2
  201. data/app/validators/passthru_validator.rb +1 -1
  202. data/app/validators/translated_etiquette_validator.rb +32 -0
  203. data/app/views/decidim/account/_password_fields.html.erb +2 -2
  204. data/app/views/decidim/application/_accordion_section.html.erb +14 -0
  205. data/app/views/decidim/application/_collection.html.erb +30 -18
  206. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +5 -1
  207. data/app/views/decidim/devise/omniauth_registrations/new_tos_fields.html.erb +29 -0
  208. data/app/views/decidim/devise/registrations/new.html.erb +10 -22
  209. data/app/views/decidim/devise/sessions/new.html.erb +24 -29
  210. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +2 -4
  211. data/app/views/decidim/devise/shared/_tos_fields.html.erb +16 -0
  212. data/app/views/decidim/download_your_data/_export.html.erb +15 -0
  213. data/app/views/decidim/download_your_data/show.html.erb +51 -5
  214. data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +16 -19
  215. data/app/views/decidim/export_mailer/download_your_data_export.html.erb +2 -2
  216. data/app/views/decidim/export_mailer/export.html.erb +5 -1
  217. data/app/views/decidim/notifications_settings/show.html.erb +22 -0
  218. data/app/views/decidim/open_data/_how_to_open_accordion_section.html.erb +15 -0
  219. data/app/views/decidim/open_data/index.html.erb +108 -0
  220. data/app/views/decidim/pages/show.html.erb +2 -1
  221. data/app/views/decidim/participatory_space_private_users/_participatory_space_private_user.html.erb +1 -0
  222. data/app/views/decidim/shared/_login_modal.html.erb +26 -20
  223. data/app/views/decidim/shared/_resource_actions.html.erb +21 -0
  224. data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +1 -2
  225. data/app/views/decidim/shared/filters/_collection.html.erb +1 -1
  226. data/app/views/decidim/shared/filters/_dropdown_label.html.erb +7 -4
  227. data/app/views/layouts/decidim/_application.html.erb +0 -1
  228. data/app/views/layouts/decidim/_js_configuration.html.erb +1 -0
  229. data/app/views/layouts/decidim/_logo.html.erb +1 -1
  230. data/app/views/layouts/decidim/_logo_mobile.html.erb +1 -1
  231. data/app/views/layouts/decidim/_meta_tags_config.html.erb +6 -11
  232. data/app/views/layouts/decidim/_schema_org_breadcrumb_list.html.erb +3 -0
  233. data/app/views/layouts/decidim/_wrapper.html.erb +15 -9
  234. data/app/views/layouts/decidim/footer/_main_links.html.erb +1 -1
  235. data/app/views/layouts/decidim/header/_close_ephemeral_session.html.erb +25 -0
  236. data/app/views/layouts/decidim/header/_main.html.erb +14 -10
  237. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +2 -0
  238. data/app/views/layouts/decidim/shared/_layout_item.html.erb +1 -1
  239. data/config/assets.rb +2 -1
  240. data/config/locales/ar.yml +27 -59
  241. data/config/locales/bg.yml +3 -64
  242. data/config/locales/ca.yml +367 -60
  243. data/config/locales/cs.yml +364 -55
  244. data/config/locales/de.yml +354 -54
  245. data/config/locales/el.yml +1 -48
  246. data/config/locales/en.yml +361 -54
  247. data/config/locales/eo.yml +0 -2
  248. data/config/locales/es-MX.yml +361 -57
  249. data/config/locales/es-PY.yml +361 -57
  250. data/config/locales/es.yml +364 -57
  251. data/config/locales/eu.yml +364 -57
  252. data/config/locales/fi-plain.yml +357 -57
  253. data/config/locales/fi.yml +361 -58
  254. data/config/locales/fr-CA.yml +176 -54
  255. data/config/locales/fr.yml +177 -52
  256. data/config/locales/ga-IE.yml +0 -21
  257. data/config/locales/gl.yml +1 -34
  258. data/config/locales/hu.yml +1 -53
  259. data/config/locales/id-ID.yml +1 -34
  260. data/config/locales/is-IS.yml +0 -16
  261. data/config/locales/it.yml +5 -60
  262. data/config/locales/ja.yml +215 -56
  263. data/config/locales/lb.yml +1 -52
  264. data/config/locales/lt.yml +1 -59
  265. data/config/locales/lv.yml +1 -40
  266. data/config/locales/nl.yml +1 -53
  267. data/config/locales/no.yml +2 -52
  268. data/config/locales/pl.yml +4 -66
  269. data/config/locales/pt-BR.yml +11 -52
  270. data/config/locales/pt.yml +2 -52
  271. data/config/locales/ro-RO.yml +195 -117
  272. data/config/locales/ru.yml +0 -20
  273. data/config/locales/sk.yml +1 -41
  274. data/config/locales/sv.yml +103 -59
  275. data/config/locales/tr-TR.yml +1 -50
  276. data/config/locales/uk.yml +0 -18
  277. data/config/locales/zh-CN.yml +1 -50
  278. data/config/locales/zh-TW.yml +1 -54
  279. data/config/routes.rb +4 -10
  280. data/db/migrate/20181025082245_add_timestamps_to_components.rb +2 -0
  281. data/db/migrate/20240628111905_add_visible_to_components.rb +7 -0
  282. data/db/migrate/20240704115429_create_decidim_taxonomies.rb +23 -0
  283. data/db/migrate/20240717093514_add_registered_only_to_decidim_share_tokens.rb +7 -0
  284. data/db/migrate/20240722215500_change_object_changes_on_versions.rb +39 -0
  285. data/db/migrate/20240806065417_create_decidim_taxonomy_filters.rb +23 -0
  286. data/db/migrate/20240822161348_add_deleted_at_to_decidim_components.rb +8 -0
  287. data/db/migrate/20240906162524_add_part_of_to_taxonomies.rb +26 -0
  288. data/db/migrate/20241001135825_add_role_to_participatory_space_private_users.rb +7 -0
  289. data/db/migrate/20241001140408_add_published_to_participatory_space_private_users.rb +7 -0
  290. data/db/migrate/20241022002600_create_private_exports.rb +18 -0
  291. data/db/migrate/20241028114430_add_component_counter_to_taxonomy_filters.rb +7 -0
  292. data/db/migrate/20241111104357_add_names_and_space_boolean_to_taxonomy_filters.rb +9 -0
  293. data/db/migrate/20241127093708_add_taxonomy_to_metrics.rb +7 -0
  294. data/db/migrate/20241204121445_add_participatory_space_manifests_from_taxonomy_filters.rb +9 -0
  295. data/decidim-core.gemspec +14 -17
  296. data/lib/decidim/action_authorization.rb +3 -2
  297. data/lib/decidim/amendable.rb +1 -1
  298. data/lib/decidim/api/input_filters/category_input_filter.rb +5 -3
  299. data/lib/decidim/api/input_filters/component_input_filter.rb +33 -20
  300. data/lib/decidim/api/input_filters/user_entity_input_filter.rb +53 -44
  301. data/lib/decidim/api/input_sorts/component_input_sort.rb +15 -13
  302. data/lib/decidim/api/input_sorts/user_entity_input_sort.rb +4 -4
  303. data/lib/decidim/api/interfaces/author_interface.rb +3 -2
  304. data/lib/decidim/api/interfaces/coauthorable_interface.rb +5 -5
  305. data/lib/decidim/api/interfaces/endorsable_interface.rb +2 -2
  306. data/lib/decidim/api/interfaces/participatory_space_interface.rb +5 -10
  307. data/lib/decidim/api/interfaces/taxonomizable_interface.rb +13 -0
  308. data/lib/decidim/api/types/amendment_type.rb +5 -7
  309. data/lib/decidim/api/types/area_api_type.rb +3 -3
  310. data/lib/decidim/api/types/attachment_type.rb +3 -3
  311. data/lib/decidim/api/types/category_type.rb +2 -2
  312. data/lib/decidim/api/types/decidim_type.rb +5 -1
  313. data/lib/decidim/api/types/fingerprint_type.rb +1 -1
  314. data/lib/decidim/api/types/localized_string_type.rb +1 -1
  315. data/lib/decidim/api/types/metric_history_type.rb +2 -0
  316. data/lib/decidim/api/types/metric_type.rb +1 -1
  317. data/lib/decidim/api/types/organization_type.rb +5 -0
  318. data/lib/decidim/api/types/participatory_space_link_type.rb +2 -2
  319. data/lib/decidim/api/types/participatory_space_manifest_type.rb +1 -1
  320. data/lib/decidim/api/types/quantifiable_translated_field_type.rb +1 -1
  321. data/lib/decidim/api/types/scope_api_type.rb +2 -3
  322. data/lib/decidim/api/types/session_type.rb +1 -2
  323. data/lib/decidim/api/types/taxonomy_type.rb +15 -0
  324. data/lib/decidim/api/types/trace_version_type.rb +2 -2
  325. data/lib/decidim/api/types/translated_field_type.rb +3 -5
  326. data/lib/decidim/api/types/user_group_type.rb +7 -20
  327. data/lib/decidim/api/types/user_type.rb +7 -20
  328. data/lib/decidim/asset_router/storage.rb +4 -4
  329. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +2 -1
  330. data/lib/decidim/attachment_attributes.rb +1 -1
  331. data/lib/decidim/attribute_encryptor.rb +1 -1
  332. data/lib/decidim/attribute_object/nested_validator.rb +1 -1
  333. data/lib/decidim/attributes/integer_with_units.rb +27 -0
  334. data/lib/decidim/attributes.rb +2 -0
  335. data/lib/decidim/authorization_form_builder.rb +0 -7
  336. data/lib/decidim/coauthorable.rb +1 -1
  337. data/lib/decidim/command.rb +3 -3
  338. data/lib/decidim/commands/destroy_resource.rb +5 -1
  339. data/lib/decidim/commands/resource_handler.rb +2 -2
  340. data/lib/decidim/commands/restore_resource.rb +45 -0
  341. data/lib/decidim/commands/soft_delete_resource.rb +63 -0
  342. data/lib/decidim/component_manifest.rb +7 -0
  343. data/lib/decidim/core/api.rb +2 -0
  344. data/lib/decidim/core/engine.rb +21 -7
  345. data/lib/decidim/core/menu.rb +0 -5
  346. data/lib/decidim/core/seeds.rb +42 -2
  347. data/lib/decidim/core/test/factories.rb +105 -2
  348. data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +85 -0
  349. data/lib/decidim/core/test/shared_examples/comments_examples.rb +393 -38
  350. data/lib/decidim/core/test/shared_examples/components_controller_hide_shared_examples.rb +11 -0
  351. data/lib/decidim/core/test/shared_examples/components_controller_reorder_shared_examples.rb +21 -0
  352. data/lib/decidim/core/test/shared_examples/download_open_data_shared_context.rb +36 -0
  353. data/lib/decidim/core/test/shared_examples/download_open_data_shared_examples.rb +45 -0
  354. data/lib/decidim/core/test/shared_examples/download_your_data_shared_examples.rb +17 -0
  355. data/lib/decidim/core/test/shared_examples/etiquette_validator_examples.rb +25 -0
  356. data/lib/decidim/core/test/shared_examples/follows_examples.rb +43 -0
  357. data/lib/decidim/core/test/shared_examples/has_taxonomies.rb +94 -0
  358. data/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb +237 -0
  359. data/lib/decidim/core/test/shared_examples/map_examples.rb +2 -0
  360. data/lib/decidim/core/test/shared_examples/open_data_exporter_examples.rb +102 -0
  361. data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +46 -0
  362. data/lib/decidim/core/test/shared_examples/participatory_space_search_examples.rb +98 -0
  363. data/lib/decidim/core/test/shared_examples/permissions.rb +7 -7
  364. data/lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb +94 -0
  365. data/lib/decidim/core/test/shared_examples/reports_examples.rb +9 -5
  366. data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +2 -2
  367. data/lib/decidim/core/test/shared_examples/resource_search_examples.rb +75 -69
  368. data/lib/decidim/core/test/shared_examples/searchable_resources_shared_context.rb +1 -1
  369. data/lib/decidim/core/test/shared_examples/simple_event.rb +33 -19
  370. data/lib/decidim/core/test/shared_examples/social_share_examples.rb +25 -0
  371. data/lib/decidim/core/test/shared_examples/softdeleteable_components_examples.rb +173 -0
  372. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +54 -8
  373. data/lib/decidim/core/test/shared_examples/taxonomizable_interface_examples.rb +20 -0
  374. data/lib/decidim/core/test/shared_examples/taxonomizable_resource_examples.rb +37 -0
  375. data/lib/decidim/core/test/shared_examples/taxonomy_settings.rb +49 -0
  376. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +1 -1
  377. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +2 -2
  378. data/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +1 -1
  379. data/lib/decidim/core/test.rb +9 -5
  380. data/lib/decidim/core/version.rb +1 -1
  381. data/lib/decidim/core.rb +58 -0
  382. data/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb +0 -4
  383. data/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb +3 -1
  384. data/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb +2 -1
  385. data/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb +6 -7
  386. data/lib/decidim/download_your_data_serializers.rb +19 -0
  387. data/lib/decidim/exporters/csv.rb +6 -0
  388. data/lib/decidim/exporters/export_manifest.rb +14 -0
  389. data/lib/decidim/exporters/pdf.rb +26 -22
  390. data/lib/decidim/filter_form_builder.rb +12 -15
  391. data/lib/decidim/form_builder.rb +6 -129
  392. data/lib/decidim/has_category.rb +5 -1
  393. data/lib/decidim/has_private_users.rb +4 -0
  394. data/lib/decidim/has_taxonomy_settings.rb +47 -0
  395. data/lib/decidim/has_upload_validations.rb +1 -1
  396. data/lib/decidim/legacy_form_builder.rb +118 -0
  397. data/lib/decidim/maintenance/import_models/application_record.rb +93 -0
  398. data/lib/decidim/maintenance/import_models/area.rb +82 -0
  399. data/lib/decidim/maintenance/import_models/area_type.rb +12 -0
  400. data/lib/decidim/maintenance/import_models/assembly_type.rb +49 -0
  401. data/lib/decidim/maintenance/import_models/categorization.rb +14 -0
  402. data/lib/decidim/maintenance/import_models/category.rb +107 -0
  403. data/lib/decidim/maintenance/import_models/participatory_process_type.rb +21 -0
  404. data/lib/decidim/maintenance/import_models/scope.rb +163 -0
  405. data/lib/decidim/maintenance/import_models.rb +19 -0
  406. data/lib/decidim/maintenance/taxonomy_importer.rb +132 -0
  407. data/lib/decidim/maintenance/taxonomy_plan.rb +78 -0
  408. data/lib/decidim/maintenance.rb +12 -0
  409. data/lib/decidim/map/autocomplete.rb +52 -8
  410. data/lib/decidim/map/dynamic_map.rb +1 -1
  411. data/lib/decidim/map/provider/geocoding/here.rb +9 -3
  412. data/lib/decidim/map.rb +3 -6
  413. data/lib/decidim/moderation_tools.rb +14 -3
  414. data/lib/decidim/newsletter_encryptor.rb +1 -1
  415. data/lib/decidim/paddable.rb +1 -1
  416. data/lib/decidim/participable.rb +10 -10
  417. data/lib/decidim/participatory_space_user.rb +10 -0
  418. data/lib/decidim/private_download_helper.rb +15 -0
  419. data/lib/decidim/record_encryptor.rb +51 -46
  420. data/lib/decidim/resourceable.rb +16 -0
  421. data/lib/decidim/seeds.rb +18 -20
  422. data/lib/decidim/settings_manifest.rb +34 -1
  423. data/lib/decidim/soft_deletable.rb +17 -0
  424. data/lib/decidim/taxonomizable.rb +72 -0
  425. data/lib/decidim/view_model.rb +0 -1
  426. data/lib/tasks/decidim_download_your_data_tasks.rake +2 -4
  427. data/lib/tasks/decidim_procfile.rake +6 -0
  428. data/lib/tasks/decidim_tasks.rake +1 -0
  429. data/lib/tasks/decidim_taxonomies.rake +155 -0
  430. data/lib/tasks/upgrade/{decidim_fix_categorization.rake → clean.rake} +25 -18
  431. data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +1 -1
  432. data/lib/tasks/upgrade/migrations.rake +91 -0
  433. metadata +195 -102
  434. data/app/cells/decidim/amendable/amenders_list/show.erb +0 -0
  435. data/app/cells/decidim/content_blocks/base/content.erb +0 -0
  436. data/app/cells/decidim/endorsers_list/full_endorsers_list.erb +0 -3
  437. data/app/cells/decidim/endorsers_list_button/content.erb +0 -1
  438. data/app/cells/decidim/endorsers_list_button_cell.rb +0 -15
  439. data/app/cells/decidim/scopes_picker/scope_picker_prompt.erb +0 -3
  440. data/app/cells/decidim/scopes_picker/scope_picker_values.erb +0 -5
  441. data/app/cells/decidim/scopes_picker/show.erb +0 -14
  442. data/app/cells/decidim/scopes_picker_cell.rb +0 -92
  443. data/app/commands/decidim/update_user_interests.rb +0 -41
  444. data/app/controllers/decidim/scopes_controller.rb +0 -84
  445. data/app/controllers/decidim/user_interests_controller.rb +0 -30
  446. data/app/forms/decidim/user_interest_scope_form.rb +0 -25
  447. data/app/forms/decidim/user_interests_form.rb +0 -17
  448. data/app/helpers/decidim/categories_helper.rb +0 -26
  449. data/app/helpers/decidim/scopes_helper.rb +0 -105
  450. data/app/packs/images/decidim/vendor/leaflet/layers-2x.png +0 -0
  451. data/app/packs/images/decidim/vendor/leaflet/layers.png +0 -0
  452. data/app/packs/images/decidim/vendor/leaflet/marker-icon-2x.png +0 -0
  453. data/app/packs/images/decidim/vendor/leaflet/marker-icon.png +0 -0
  454. data/app/packs/images/decidim/vendor/leaflet/marker-shadow.png +0 -0
  455. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.Default.scss +0 -67
  456. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.scss +0 -18
  457. data/app/packs/stylesheets/decidim/legacy/leaflet.scss +0 -705
  458. data/app/validators/scope_belongs_to_component_validator.rb +0 -16
  459. data/app/views/decidim/account/_user_groups.html.erb +0 -0
  460. data/app/views/decidim/scopes/_scopes_picker_input.html.erb +0 -19
  461. data/app/views/decidim/scopes/picker.html.erb +0 -53
  462. data/app/views/decidim/shared/_comments.html.erb +0 -0
  463. data/app/views/decidim/shared/_share_modal.html.erb +0 -26
  464. data/app/views/decidim/shared/_tags.html.erb +0 -1
  465. data/app/views/decidim/user_interests/_areas.html.erb +0 -14
  466. data/app/views/decidim/user_interests/_scopes.html.erb +0 -22
  467. data/app/views/decidim/user_interests/show.html.erb +0 -22
  468. data/config/initializers/foundation_rails_helper.rb +0 -4
  469. data/lib/decidim/core/test/shared_examples/has_category.rb +0 -38
  470. data/lib/decidim/core/test/shared_examples/has_scope.rb +0 -11
  471. data/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb +0 -83
  472. data/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb +0 -49
  473. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +0 -93
  474. data/lib/decidim/seven_zip_wrapper.rb +0 -29
@@ -4,10 +4,18 @@ fr:
4
4
  attributes:
5
5
  account:
6
6
  delete_reason: Pour quelle(s) raison(s) supprimez-vous votre compte ?
7
+ attachment:
8
+ documents: Documents
9
+ photos: Photos
7
10
  common:
8
11
  created_at: Créé le
12
+ content_block_attachment:
13
+ background_image: Image d'arrière-plan
14
+ main_image: Image principale
9
15
  conversation:
10
16
  body: Corps de texte
17
+ editor_image:
18
+ file: Fichier
11
19
  group:
12
20
  about: A propos
13
21
  avatar: Avatar
@@ -16,12 +24,17 @@ fr:
16
24
  name: Nom
17
25
  nickname: Pseudonyme
18
26
  phone: Téléphone
27
+ import:
28
+ file: Fichier
19
29
  message:
20
30
  body: Corps de texte
21
31
  report:
22
32
  details: Commentaires supplémentaires
33
+ taxonomy_filter:
34
+ space_filter: Disponible comme filtre pour
23
35
  user:
24
36
  about: A propos de moi
37
+ avatar: Avatar
25
38
  email: Votre email
26
39
  encrypted_password: Mot de passe
27
40
  locale: Langue
@@ -33,6 +46,8 @@ fr:
33
46
  personal_url: Site internet personnel
34
47
  remove_avatar: Supprimer l'avatar
35
48
  tos_agreement: Conditions d'utilisation
49
+ user_group:
50
+ avatar: Avatar
36
51
  models:
37
52
  decidim/attachment_created_event: Document lié
38
53
  decidim/component_published_event: Fonctionnalité active
@@ -57,7 +72,7 @@ fr:
57
72
  with_participatory_space: Espace participatif
58
73
  decidim/user:
59
74
  current_password: Mot de passe actuel
60
- email: Email
75
+ email: Adresse e-mail
61
76
  name: Pseudonyme
62
77
  password: Mot de passe
63
78
  password_confirmation: Confirmation du mot de passe
@@ -162,6 +177,7 @@ fr:
162
177
  error: Une erreur s'est produite lors de la suppression de votre compte.
163
178
  success: Votre compte a été supprimé avec succès.
164
179
  download_your_data_export:
180
+ export_expired: L'export a expiré. Essayez de générer un nouvel export.
165
181
  file_no_exists: Le fichier n'existe pas
166
182
  notice: Le téléchargement de vos données est en cours. Vous recevrez un email lorsque celui-ci sera terminé.
167
183
  email_change:
@@ -257,10 +273,21 @@ fr:
257
273
  create: "%{user_name} a créé le type de secteur %{resource_name}"
258
274
  delete: "%{user_name} a supprimé le type de secteur %{resource_name}"
259
275
  update: "%{user_name} a mis à jour le type de secteur %{resource_name}"
276
+ share_token:
277
+ create: "%{user_name} a créé un lien d'accès dans %{space_name}"
278
+ create_with_space: "%{user_name} a créé un lien d'accès pour %{resource_name} dans %{space_name}"
279
+ delete: "%{user_name} a supprimé un lien d'accès dans %{space_name}"
280
+ delete_with_space: "%{user_name} a supprimé un lien d'accès pour %{resource_name} dans %{space_name}"
281
+ update: "%{user_name} a mis à jour un lien d'accès dans %{space_name}"
282
+ update_with_space: "%{user_name} a mis à jour un lien d'accès pour %{resource_name} dans %{space_name}"
260
283
  static_page:
261
284
  create: "%{user_name} a créé la page statique %{resource_name}"
262
285
  delete: "%{user_name} a supprimé la page statique %{resource_name}"
263
286
  update: "%{user_name} a mis à jour la page statique %{resource_name}"
287
+ taxonomy_filter:
288
+ create: "%{user_name} a créé le filtre %{resource_name}"
289
+ delete: "%{user_name} a supprimé le filtre %{resource_name}"
290
+ update: "%{user_name} a mis à jour le filtre %{resource_name}"
264
291
  user:
265
292
  block: "%{user_name} a bloqué l'utilisateur %{resource_name}"
266
293
  invite: "%{user_name} a invité l'utilisateur %{resource_name} avec le rôle : %{role}"
@@ -285,7 +312,7 @@ fr:
285
312
  dismiss: Rejeter la notification
286
313
  amendments:
287
314
  accepted:
288
- error: Une erreur s'est produite lors de l'acceptation de l'amendement.
315
+ error: Une erreur s'est produite lors de l'acceptation de cet amendement.
289
316
  success: L'amendement a été accepté avec succès.
290
317
  amendable:
291
318
  button: Modifier %{model_name}
@@ -298,7 +325,7 @@ fr:
298
325
  one: "%{count} amendement"
299
326
  other: "%{count} amendements"
300
327
  created:
301
- error: Une erreur sest produite lors de la création du projet d'amendement.
328
+ error: Une erreur s'est produite lors de la création du brouillon d'amendement.
302
329
  success: Le projet d'amendement a été créé avec succès.
303
330
  destroy_draft:
304
331
  error: Il y a eu un problème de suppression du projet d'amendement.
@@ -350,7 +377,7 @@ fr:
350
377
  error: Une erreur s'est produite lors de la modification de ce projet d'amendement.
351
378
  success: Le projet d'amendement a été mis à jour avec succès.
352
379
  withdraw:
353
- error: Une erreur s'est produite lors du retrait de l'amendement.
380
+ error: Une erreur s'est produite lors du retrait de cet amendement.
354
381
  success: L'amendement a été retiré avec succès.
355
382
  wizard_step_form:
356
383
  steps:
@@ -392,13 +419,18 @@ fr:
392
419
  explanation: Obtenir une vérification en saisissant un numéro de document terminant par "X".
393
420
  fields:
394
421
  allowed_postal_codes: Codes postaux autorisés (séparés par des virgules)
395
- allowed_scope_id: Secteur autorisé
396
422
  document_number: Numéro de document
397
423
  postal_code: Code postal
398
- scope_id: Secteur
399
424
  name: Exemple d'autorisation
400
425
  dummy_authorization_workflow:
426
+ explanation: Procédure d'autorisation factice
401
427
  name: Procédure d'autorisation factice
428
+ ephemeral_dummy_authorization_handler:
429
+ fields:
430
+ allowed_postal_codes: Codes postaux autorisés (séparés par des virgules)
431
+ document_number: Numéro du document
432
+ postal_code: Code postal
433
+ name: Exemple d'autorisation éphémère
402
434
  errors:
403
435
  duplicate_authorization: Un participant est déjà autorisé avec ces mêmes données. Un administrateur vous contactera pour vérifier vos informations.
404
436
  expired_at: Expiré à %{timestamp}
@@ -487,8 +519,6 @@ fr:
487
519
  dummy_global_translatable_text: Texte traduisible factice
488
520
  enable_pads_creation: Activer la création de pads
489
521
  resources_permissions_enabled: Autorisations de ressources activées
490
- scope_id: Secteur
491
- scopes_enabled: Secteurs activés
492
522
  step:
493
523
  amendment_creation_enabled: Création d'amendement activée
494
524
  amendment_promotion_enabled: Promotion d'amendement activée
@@ -498,6 +528,8 @@ fr:
498
528
  dummy_step_attribute1: Attribut d'étape factice 1
499
529
  dummy_step_attribute2: Attribut d'étape factice 2
500
530
  dummy_step_translatable_text: Texte traduisible de l'étape factice
531
+ pagination:
532
+ page_title: "%{component_name} - Page %{current_page} sur %{total_pages}"
501
533
  contact: Contact
502
534
  content_blocks:
503
535
  announcement:
@@ -573,8 +605,6 @@ fr:
573
605
  application_helper:
574
606
  filter_area_values:
575
607
  all: Tout
576
- filter_category_values:
577
- all: Tout
578
608
  filter_scope_values:
579
609
  all: Tout
580
610
  devise:
@@ -587,6 +617,9 @@ fr:
587
617
  sign_up: Veuillez compléter votre profil
588
618
  subtitle: Veuillez compléter le formulaire suivant afin de compléter l’inscription
589
619
  username_help: Le nom est public et apparaît dans votre profil et sur vos messages. Dans le but de garantir l'anonymat, vous pouvez choisir n'importe quel nom.
620
+ new_tos_fields:
621
+ sign_up: Créer un compte
622
+ sign_up_title: Finalisez la création de votre compte
590
623
  registrations:
591
624
  create:
592
625
  error: Il y a eu un problème pour créer votre compte.
@@ -603,11 +636,12 @@ fr:
603
636
  username_help: Le nom est public et apparaît dans votre profil et sur vos messages. Dans le but de garantir l'anonymat, vous pouvez choisir n'importe quel nom.
604
637
  sessions:
605
638
  new:
606
- are_you_new?: Nouveau sur la plateforme ?
639
+ are_you_new?: Pas encore inscrit(e) ?
607
640
  register: S'inscrire
608
641
  sign_in_disabled: Vous pouvez vous connecter avec un compte externe.
609
642
  sign_up_disabled: La création de compte est désactivée, mais vous pouvez vous identifier avec un compte existant.
610
643
  user:
644
+ ephemeral_session_closed: Votre session d'invité est terminée
611
645
  timed_out: Vous avez été inactif pendant trop longtemps et vous avez été automatiquement déconnecté du service. Si vous souhaitez continuer à utiliser le service, veuillez vous reconnecter.
612
646
  shared:
613
647
  newsletter_modal:
@@ -626,13 +660,16 @@ fr:
626
660
  <p>Merci de votre lecture !</p>
627
661
  title: Inscription à la newsletter
628
662
  omniauth_buttons:
629
- or: Ou
663
+ or: ou
630
664
  password_fields:
631
665
  hidden_password: Votre mot de passe est masqué
632
666
  hide_password: Masquer le mot de passe
633
667
  show_password: Montrer le mot de passe
634
668
  shown_password: Votre mot de passe est affiché
635
669
  placeholder_email: salut@exemple.org
670
+ documents:
671
+ one: "%{count} document"
672
+ other: "%{count} documents"
636
673
  doorkeeper:
637
674
  authorizations:
638
675
  new:
@@ -651,25 +688,52 @@ fr:
651
688
  download_your_data:
652
689
  export:
653
690
  ready: Prêt
691
+ help:
692
+ participatory_space_private_users:
693
+ created_at: La date et l'heure de création de cet utilisateur privé
694
+ id: L'identifiant unique de cet utilisateur privé
695
+ privatable_to: À quel espace cet utilisateur privé appartient
696
+ published: Que cet utilisateur privé soit publié ou non
697
+ role: Le rôle que cet utilisateur privé a
698
+ updated_at: La date et l'heure de la dernière mise à jour de cet utilisateur privé
699
+ reports:
700
+ created_at: La date et l'heure de création de ce rapport
701
+ details: Les détails de ce rapport
702
+ id: L'identifiant unique de ce rapport
703
+ locale: La langue de ce rapport
704
+ reason: La raison de ce rapport
705
+ updated_at: La date et l'heure de la dernière mise à jour de ce rapport
706
+ users:
707
+ accepted_tos_version: La date à laquelle les conditions d'utilisation de cette plateforme ont été acceptées par l'utilisateur
708
+ followers_count: Le nombre de participants qui suivent à cet utilisateur
709
+ following_count: Le nombre de participants que cet utilisateur suit
710
+ password_updated_at: La date à laquelle leur mot de passe a été modifié pour la dernière fois
711
+ roles: Le rôle de cet utilisateur s'il en a un
712
+ type: Le type que cet utilisateur a
654
713
  show:
655
- download_data: Télécharger les données
656
- download_data_description_html: |-
657
- Un fichier contenant toutes les informations associées à votre compte sera envoyé à <strong>%{user_email}</strong>. Cet e-mail contiendra un fichier .zip et un mot de passe pour l'ouvrir.<br/><br/>Pour décompresser le fichier, vous aurez besoin de <a href="https://www.7-zip.org/">7-Zip</a> (pour Windows) ou <a href="https://www.keka.io/">Keka</a> (pour MacOS). Si vous utilisez Linux, la plupart du temps, vous l'aurez installé par défaut. Sinon, vous pouvez utiliser <a href="https://gitlab.gnome.org/GNOME/file-roller">File Roller</a> ou <a href="https://peazip.github.io">PeaZip</a>.
658
- request_data: Demander les données
714
+ action: Action
715
+ download_data_description_1: Vous trouverez ici tous les téléchargements disponibles pour votre compte. Ces fichiers .zip seront disponibles pendant deux semaines avant d'être supprimés.
716
+ download_data_description_2: Vous pouvez demander un fichier .zip avec vos contributions et vos données personnelles.
717
+ download_your_data: Données personnelles
718
+ expiration: Expiration
719
+ expired: Déjà expiré
720
+ request_data: Requête 
721
+ type: Type de télechargement
659
722
  editor_images:
660
723
  create:
661
724
  error: Une erreur est survenue lors du téléchargement de l'image.
662
725
  success: L'image a été téléchargée avec succès.
663
726
  drag_and_drop_help: Ajoutez des images en les glissant - déposant ou en les collant depuis votre presse-papier.
664
727
  endorsement_buttons_cell:
665
- already_endorsed: Je n'aime pas
666
728
  endorse: J’aime
667
729
  endorsements:
668
730
  identities:
669
731
  done: Terminé
670
732
  select_identity: Sélectionner une identité
671
733
  endorsers_list:
672
- endorsed_by: Soutenu par
734
+ others: "%{count} de plus"
735
+ you: vous
736
+ ephemeral_user: Visiteur
673
737
  errors:
674
738
  files:
675
739
  file_cannot_be_processed: Le fichier ne peut pas être traité
@@ -737,6 +801,11 @@ fr:
737
801
  email_outro: Vous avez reçu cette notification parce que vous suivez %{amendable_title}. Si vous souhaitez vous désabonner des notifications, connectez-vous à la plateforme, puis rendez-vous dans l'onglet “Mon compte” > “Paramètres des notifications”.
738
802
  email_subject: Un amendement rejeté pour %{amendable_title} à %{emendation_author_nickname}
739
803
  notification_title: Le <a href="%{emendation_path}">amendement</a> créé par <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> a été rejetée pour <a href="%{amendable_path}">%{amendable_title}</a>.
804
+ emendation_promoted:
805
+ follower:
806
+ email_intro: 'Une correction a été publiée pour %{amendable_title}. Vous pouvez la voir sur cette page :'
807
+ email_outro: Vous avez reçu cette notification parce que vous êtes un(e) auteur/trice de %{amendable_title}.
808
+ email_subject: Une correction réalisée par %{emendation_author_nickname} a été publiée en tant que nouvelle %{amendable_type}
740
809
  attachments:
741
810
  attachment_created:
742
811
  email_intro: 'Un nouveau document a été ajouté à %{resource_title}. Vous pouvez le voir sur cette page :'
@@ -841,10 +910,10 @@ fr:
841
910
  notification_title: Le participant %{name} (%{nickname}) a été officialisé.
842
911
  export_mailer:
843
912
  download_your_data_export:
844
- click_button: 'Cliquez sur le bouton suivant pour télécharger vos données.<br/>Le fichier sera disponible jusqu''au %{date}.<br/>Vous aurez besoin de <a href="https://www.7-zip.org/">7-Zip</a> (Windows), <a href="https://www.keka.io/en/">Keka</a> (MacOS) ou <a href="https://peazip.github.io">PeaZip</a> (Linux) pour l''ouvrir. Mot de passe : %{password}'
913
+ click_button_html: Cliquez sur le lien suivant pour télécharger vos données.<br/>Le fichier sera disponible au téléchargement jusqu'à %{date}.
845
914
  download: Télécharger
846
915
  export:
847
- ready: Vous trouverez ci-joint une version zippée de votre exportation.
916
+ click_button_html: Votre téléchargement est prêt. <br/>Le fichier sera disponible en téléchargement jusqu'à %{date}.
848
917
  subject: Votre export "%{name}" est prêt
849
918
  filters:
850
919
  linked_classes:
@@ -893,7 +962,7 @@ fr:
893
962
  file:
894
963
  explanation: 'Orientation pour le fichier :'
895
964
  message_1: Doit être une image ou un document.
896
- message_2: Pour les images, utilisez de préférence des images en format paysage car le service rogne l'image.
965
+ message_2: Si c'est une image, c'est de préférence une image de paysage qui n'a pas de texte. Le service recadre l'image.
897
966
  icon:
898
967
  explanation: 'Manuel pour l''image:'
899
968
  message_1: Doit être une image carrée.
@@ -934,7 +1003,7 @@ fr:
934
1003
  badges:
935
1004
  followers:
936
1005
  conditions:
937
- - Être actif et suivre les autres incitera sûrement les autres à vous suivre.
1006
+ - Être actif et suivre les autres incitera sûrement les autres à vous suivre.
938
1007
  description: Ce badge est attribué lorsque vous atteignez un certain nombre d'adeptes. %{organization_name} est un réseau social et politique, tissez votre site Web pour communiquer avec les autres personnes de la plate-forme.
939
1008
  description_another: Cet utilisateur a %{score} abonnés.
940
1009
  description_own: "%{score} utilisateurs vous suivent."
@@ -1071,6 +1140,8 @@ fr:
1071
1140
  unknown_action_with_space: "%{user_name} a effectué une action sur %{resource_name} dans %{space_name}"
1072
1141
  unpublish_with_space: "%{user_name} a dépublié %{resource_name} de %{space_name}"
1073
1142
  update: "%{user_name} a mis à jour %{resource_name}"
1143
+ update_filters: "%{user_name} a mis à jour les filtres de %{resource_name}"
1144
+ update_filters_with_space: "%{user_name} a mis à jour les filtres de %{resource_name} dans %{space_name}"
1074
1145
  update_permissions_with_space: "%{user_name} a mis à jour les permissions de %{resource_name} dans %{space_name}"
1075
1146
  update_with_space: "%{user_name} a mis à jour %{resource_name} dans %{space_name}"
1076
1147
  value_types:
@@ -1174,6 +1245,8 @@ fr:
1174
1245
  not_started: Pas encore commencé
1175
1246
  remaining: "%{time_distance} restant"
1176
1247
  metrics:
1248
+ blocked_users:
1249
+ description: Nombre de participants bloqués
1177
1250
  download:
1178
1251
  csv: Télécharger les données (CSV)
1179
1252
  followers:
@@ -1184,6 +1257,10 @@ fr:
1184
1257
  description: Nombre d'utilisateurs actifs dans l'organisation
1185
1258
  object: les participants
1186
1259
  title: Participants
1260
+ reported_users:
1261
+ description: Nombre de participants signalés
1262
+ user_reports:
1263
+ description: Nombre de signalements effectués par les participants
1187
1264
  users:
1188
1265
  description: Nombre d'utilisateurs dans l'organisation
1189
1266
  object: utilisateurs
@@ -1249,10 +1326,12 @@ fr:
1249
1326
  notifications_digest_mailer:
1250
1327
  header:
1251
1328
  daily: Résumé quotidien des notifications
1329
+ real_time: Temps réel
1252
1330
  weekly: Résumé hebdomadaire des notifications
1253
1331
  hello: Bonjour %{name},
1254
1332
  intro:
1255
1333
  daily: 'Voici les notifications de la veille, basées sur les ressources que vous suivez :'
1334
+ real_time: 'Ceci est une notification sur l''activité que vous suivez :'
1256
1335
  weekly: 'Voici les notifications de la semaine dernière, basées sur les ressources que vous suivez :'
1257
1336
  outro: Vous avez reçu ces notifications parce que vous suivez ce contenu ou ses auteurs. Pour arrêter de les suivre, rendez-vous sur la page du contenu ou de l'auteur et cliquez sur "Ne plus suivre".
1258
1337
  see_more: Voir plus de notifications
@@ -1262,6 +1341,7 @@ fr:
1262
1341
  administrators: Administrateurs
1263
1342
  allow_public_contact: "Allow anyone to send me a direct message, even if I do not follow them.\nAutoriser tout le monde à m'envoyer un message direct même si je ne les suis pas."
1264
1343
  allow_push_notifications: Recevez des notifications push pour savoir ce qui se passe lorsque vous n'êtes pas sur la plateforme. Vous pouvez les désactiver à tout moment.
1344
+ assigned_to_proposal: Je veux recevoir un email quand quelqu'un m'assigne une proposition à évaluer
1265
1345
  direct_messages: Recevoir des messages directs de n'importe qui
1266
1346
  email_on_moderations: Je veux recevoir un email chaque fois que quelqu'un ou qu'une ressource a été signalé à des fins de modérations.
1267
1347
  everything_followed: Tout ce que je suis
@@ -1280,6 +1360,7 @@ fr:
1280
1360
  push_notifications_reminder: Pour recevoir des notifications de la plateforme, vous devez d'abord les autoriser dans les paramètres de votre navigateur.
1281
1361
  receive_notifications_about: Je veux recevoir des notifications sur
1282
1362
  update_notifications_settings: Enregistrer les modifications
1363
+ valuators: Évaluateurs
1283
1364
  update:
1284
1365
  error: Une erreur s'est produite lors de la mise à jour des paramètres de vos notifications.
1285
1366
  success: Vos paramètres de notifications ont été mis à jour avec succès.
@@ -1289,7 +1370,74 @@ fr:
1289
1370
  message_1: On dirait que vous êtes actuellement hors ligne.
1290
1371
  message_2: Veuillez réessayer plus tard.
1291
1372
  retry: Réessayer
1373
+ onboarding_action_message:
1374
+ click_link: Cliquez ici
1375
+ cta_html: <a href="%{path}">%{link_text}</a> pour %{action} dans %{resource_name} <strong>%{resource_title}</strong>
1376
+ ephemeral_authorized_message: Vous avez été autorisé avec succès.<br/>Vous avez commencé une session en tant qu'invité, vous pouvez maintenant participer.
1377
+ pending_authorization_active_message: Veuillez remplir le formulaire pour procéder à cette action.
1378
+ pending_authorization_active_title: Nous devons vérifier votre identité.
1379
+ pending_ephemeral_authorization: Veuillez vérifier votre identité pour continuer.
1292
1380
  open_data:
1381
+ help:
1382
+ metrics:
1383
+ day: Le jour de la création de cette métrique
1384
+ metric_type: Le type de métrique
1385
+ quantity: Le nombre de métriques pour ce jour
1386
+ moderated_users:
1387
+ about: Le champ "A propos" de l'utilisateur
1388
+ block_reasons: La raison pour laquelle l'administrateur a bloqué l'utilisateur
1389
+ blocked_at: Date et heure auxquelles l'utilisateur a été bloqué
1390
+ blocking_user: Le nom de l'utilisateur qui a effectué le blocage
1391
+ details: Les détails des signalements
1392
+ reasons: Une liste des raisons pour lesquelles le profil a été signalé
1393
+ user_id: L'identifiant unique de l'utilisateur signalé
1394
+ moderations:
1395
+ hidden_at: Date et heure auxquelles le contenu a été masqué
1396
+ id: L'identifiant unique de la modération
1397
+ report_count: Le nombre de fois où il a été signalé
1398
+ reportable_id: L'identifiant unique du signalement
1399
+ reportable_type: Type du signalement
1400
+ reported_content: Le contenu qui a été signalé
1401
+ reported_url: L'url de la ressource signalée
1402
+ reports: Une liste des raisons pour lesquelles la ressource a été signalée
1403
+ index:
1404
+ description: Bienvenue sur la page sur les données ouvertes de %{organization_name}. Ici, vous trouverez des fichiers de données qui sont régulièrement générés à partir de divers processus de délibération et de gouvernance au sein de %{organization_name}. Ces dossiers sont mis à disposition pour promouvoir la transparence, l'accessibilité et la collaboration. Ci-dessous, vous trouverez des informations détaillées sur ce que sont ces fichiers, comment les ouvrir et travailler avec, et une description du contenu et de la structure de chaque fichier.
1405
+ detailed:
1406
+ spaces: Espaces participatifs
1407
+ title: Explication détaillée de chaque fichier
1408
+ download:
1409
+ spaces: Espaces participatifs
1410
+ title: Télécharger les ressources
1411
+ download_open_data: Télécharger tous les fichiers de données ouvertes
1412
+ download_resource: Télécharger %{resource_name} au format CSV
1413
+ explanation:
1414
+ body_1: Ces fichiers sont des jeux de données exportés à partir des processus participatifs de %{organization_name}, tels que les propositions, les commentaires et les réunions. Ils fournissent des données brutes et structurées qui peuvent être utilisées pour l'analyse, la recherche ou l'intégration avec d'autres outils. Les données sont mises à jour automatiquement toutes les 24 heures, vous assurant ainsi un accès aux informations les plus récentes.
1415
+ body_2: Ces fichiers sont au format CSV (valeurs séparées par des virgules), un format de fichier largement utilisé qui peut être ouvert et traité par une variété d'applications logicielles, y compris les programmes de feuilles de calcul, les éditeurs de texte et les outils d'analyse de données.
1416
+ title: Quels sont ces fichiers?
1417
+ how_to:
1418
+ step_1:
1419
+ body_html: Cliquez sur les liens ci-dessous pour télécharger les fichiers CSV sur votre ordinateur.
1420
+ title: 1. Télécharger les fichiers
1421
+ step_2:
1422
+ body_html: |-
1423
+ <ul>
1424
+ <li><b>Applications de feuille de calcul</b>: Vous pouvez ouvrir des fichiers CSV en utilisant des applications comme Microsoft Excel, Google Sheets, ou LibreOffice Calc. Ouvrez simplement l'application, puis sélectionnez "Ouvrir" dans le menu Fichier, et choisissez le fichier CSV téléchargé.</li>
1425
+ <li><b>Éditeurs de texte</b>: les fichiers CSV peuvent également être ouverts dans n'importe quel éditeur de texte, comme Notepad ou Sublime Text. Cela affichera les données brutes, chaque ligne représentant un enregistrement donc les différentes valeurs sont séparées par une virgule.</li>
1426
+ <li><b>Outils d'analyse de données</b>: Si vous êtes familier avec les outils d'analyse de données comme Python (avec pandas), R, ou des bases de données SQL, vous pouvez importer ces fichiers CSV directement pour le traitement et l'analyse.</li>
1427
+ </ul>
1428
+ title: 2. Ouvrir les fichiers
1429
+ step_3:
1430
+ body_html: |-
1431
+ <ul>
1432
+ <li><b>Filtrage et Tri</b>: Dans les applications de feuille de calcul, vous pouvez filtrer et trier les données pour vous concentrer sur des sous-ensembles spécifiques d'informations.</li>
1433
+ <li><b>Analyse</b>: Utilisez les données pour effectuer diverses analyses, comme comptabiliser le nombre de propositions, analyser les tendances des commentaires ou évaluer la participation aux réunions.</li>
1434
+ <li><b>Visualisation</b>: Vous pouvez créer des graphiques, des courbes et d'autres visualisations pour aider à interpréter les données.</li>
1435
+ </ul>
1436
+ title: 3. Travailler avec les données
1437
+ title: Comment ouvrir et travailler avec ces fichiers
1438
+ license:
1439
+ title: Licence
1440
+ title: Données ouvertes
1293
1441
  not_available_yet: Les fichiers Open Data ne sont pas encore disponibles. Veuillez réessayer dans quelques minutes.
1294
1442
  pad_iframe:
1295
1443
  disclaimer: Le contenu de ce bloc-notes est écrit par les utilisateurs enregistrés et exprime leurs opinions. %{organization} ne peut être tenu responsable de son contenu.
@@ -1424,16 +1572,7 @@ fr:
1424
1572
  error: Il y a eu un problème lors de l'action de soutien.
1425
1573
  scopes:
1426
1574
  global: Portée générale
1427
- picker:
1428
- cancel: Annuler
1429
- change: Changer le secteur sélectionné
1430
- choose: Sélectionner
1431
- currently_selected: Secteur actuellement sélectionné
1432
- title: Sélectionnez %{field}
1433
1575
  prompt: Sélectionnez un périmètre d'application
1434
- scopes: Secteurs
1435
- scopes_picker_input:
1436
- select_scope: 'Sélectionnez un secteur (actuellement: %{current})'
1437
1576
  search:
1438
1577
  name: Rechercher
1439
1578
  results: Résultats de recherche
@@ -1464,6 +1603,7 @@ fr:
1464
1603
  close_modal: Fermer la fenêtre de dialogue
1465
1604
  ok: Ok
1466
1605
  title: Valider
1606
+ confirm_unload: Cette page contient des modifications non enregistrées. Êtes-vous sûr(e) de vouloir quitter cette page ?
1467
1607
  embed:
1468
1608
  title: Contenu vidéo intégré
1469
1609
  extended_navigation_bar:
@@ -1504,12 +1644,6 @@ fr:
1504
1644
  sign_up: Créer un compte
1505
1645
  mentions_modal:
1506
1646
  remove_recipient: Supprimer le destinataire %{name}
1507
- participatory_space_filters:
1508
- filters:
1509
- area: Périmètre d'assemblée
1510
- areas: Périmètres d'assemblée
1511
- scope: Secteur
1512
- select_an_area: Sélectionnez un périmètre d'assemblée
1513
1647
  progress: Avancement
1514
1648
  public_participation:
1515
1649
  public_participation: Afficher ma présence publiquement
@@ -1537,10 +1671,8 @@ fr:
1537
1671
  no_stats: Il n'y a pas encore de statistiques.
1538
1672
  pages_count: Pages
1539
1673
  participants_count: Participants
1674
+ surveys_count: Enquêtes
1540
1675
  users_count: Participants
1541
- tags:
1542
- filter_results_for_category: 'Filtrer les résultats de la catégorie : %{resource}'
1543
- filter_results_for_scope: 'Filtrer les résultats pour le secteur : %{resource}'
1544
1676
  translation_bar:
1545
1677
  help_text: "<strong>Attention :</strong> Le contenu peut être automatiquement traduit et ne pas être exact à 100%."
1546
1678
  show_original: Afficher le texte original
@@ -1563,15 +1695,6 @@ fr:
1563
1695
  send: Envoyer
1564
1696
  update:
1565
1697
  error: Message non envoyé. Réessayez plus tard
1566
- user_interests:
1567
- show:
1568
- my_interests: Mes intérêts
1569
- no_scopes: Cette organisation n'a pas encore de secteurs !
1570
- select_your_interests: Sélectionnez les sujets qui vous intéressent pour recevoir les événements qui y sont liés dans l'onglet Chronologie de votre profil.
1571
- update_my_interests: Mettre à jour mes intérêts
1572
- update:
1573
- error: Une erreur s'est produite lors de la mise à jour de vos centres d'intérêt.
1574
- success: Vos intérêts ont été mis à jour avec succès.
1575
1698
  user_report_mailer:
1576
1699
  notify:
1577
1700
  body_1: L'utilisateur %{user} a été signalé par %{token}
@@ -1693,6 +1816,7 @@ fr:
1693
1816
  message: Votre compte a été verrouillé en raison d'une quantité excessive de tentatives de connexion infructueuses.
1694
1817
  subject: Instructions de déverrouillage
1695
1818
  omniauth_callbacks:
1819
+ add_tos_errors: Les conditions d'utilisation doivent être acceptées afin de créer un compte.
1696
1820
  failure: Impossible de vous authentifier à partir de %{kind} car "%{reason}".
1697
1821
  success: Authentifié avec succès à partir de %{kind} compte.
1698
1822
  passwords:
@@ -1853,7 +1977,7 @@ fr:
1853
1977
  not_found: n'a pas pu être trouvé. Avez-vous créé un compte précédemment ?
1854
1978
  not_locked: n'était pas verrouillé
1855
1979
  not_saved:
1856
- one: 'Une erreur est survenue pendant le traitement de votre requête.'
1980
+ one: 'Une erreur est survenue pendant le traitement de votre requête:'
1857
1981
  other: 'Plusieurs erreurs sont survenues pendant le traitement de votre requête.'
1858
1982
  too_many_marks: utilise trop de signes de ponctuation consécutifs (par exemple! et?)
1859
1983
  too_much_caps: utilise trop de lettres majuscules (plus de 25% du texte)
@@ -1931,13 +2055,15 @@ fr:
1931
2055
  data_consent_settings: Paramètres des cookies
1932
2056
  decidim_logo: Decidim.org (ouverture dans une nouvelle fenêtre)
1933
2057
  decidim_title: Decidim
1934
- download_open_data: Télécharger les fichiers Open Data
1935
2058
  log_in: Se connecter
1936
2059
  made_with_open_source: Site réalisé grâce au <a target="_blank" href="https://github.com/decidim/decidim">logiciel libre Decidim</a>.
2060
+ open_data: Données ouvertes
1937
2061
  resources: Ressources
1938
2062
  sign_up: Créer un compte
1939
2063
  terms_of_service: Conditions d'utilisation
1940
2064
  header:
2065
+ close: Fermer
2066
+ confirm_close_ephemeral_session: Si vous quittez cette page, votre session sera fermée. Êtes-vous sûr(e)?
1941
2067
  log_in: Se connecter
1942
2068
  main_menu: Menu principal
1943
2069
  user_menu: Menu utilisateur
@@ -1980,7 +2106,6 @@ fr:
1980
2106
  authorizations: Autorisations
1981
2107
  delete_my_account: Supprimer mon compte
1982
2108
  my_data: Mes données
1983
- my_interests: Mes intérêts
1984
2109
  notifications_settings: Paramètres des notifications
1985
2110
  profile: Profil
1986
2111
  title: Paramètres utilisateur
@@ -22,7 +22,6 @@ ga:
22
22
  activerecord:
23
23
  attributes:
24
24
  decidim/user:
25
- email: Seoladh ríomhphoist
26
25
  name: Leasainm
27
26
  password: Pasfhocal
28
27
  booleans:
@@ -61,7 +60,6 @@ ga:
61
60
  dummy_authorization_handler:
62
61
  fields:
63
62
  postal_code: Cód poist
64
- scope_id: Scóip
65
63
  foo_authorization:
66
64
  fields:
67
65
  bar: Bar
@@ -90,9 +88,6 @@ ga:
90
88
  actions:
91
89
  bar: Bar
92
90
  foo: Foo
93
- settings:
94
- global:
95
- scope_id: Scóip
96
91
  contact: Teagmháil
97
92
  content_blocks:
98
93
  highlighted_elements_settings_form:
@@ -100,17 +95,10 @@ ga:
100
95
  random: Randamach
101
96
  last_activity:
102
97
  view_all: Amharc ar uile
103
- core:
104
- application_helper:
105
- filter_category_values:
106
- all: Uile
107
98
  devise:
108
99
  registrations:
109
100
  new:
110
101
  log_in: Logáil isteach
111
- shared:
112
- omniauth_buttons:
113
- or: Nó
114
102
  doorkeeper:
115
103
  authorizations:
116
104
  new:
@@ -215,11 +203,6 @@ ga:
215
203
  details: Sonraí
216
204
  id: ID
217
205
  reason: Cúis
218
- scopes:
219
- picker:
220
- cancel: Cealaigh
221
- choose: Roghnaigh
222
- scopes: Scóip
223
206
  search:
224
207
  term_input_placeholder: Cuardaigh
225
208
  searches:
@@ -251,10 +234,6 @@ ga:
251
234
  report: Tuairiscigh
252
235
  floating_help:
253
236
  help: Cabhair
254
- participatory_space_filters:
255
- filters:
256
- areas: Ceantair
257
- scope: Scóip
258
237
  share_modal:
259
238
  copy_share_link: Cóipeáil
260
239
  copy_share_link_copied: Cóipeáilte!