decidim-decidim_awesome 0.12.0 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +25 -15
  4. data/Rakefile +12 -0
  5. data/app/cells/concerns/decidim/decidim_awesome/global_menu_cell_override.rb +14 -2
  6. data/app/cells/concerns/decidim/decidim_awesome/proposal_l_cell_override.rb +5 -4
  7. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/show.erb +3 -3
  8. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/vote_block_for.erb +1 -1
  9. data/app/commands/concerns/decidim/decidim_awesome/admin/needs_constraint_helpers.rb +39 -5
  10. data/app/commands/decidim/decidim_awesome/admin/create_authorization_group.rb +42 -0
  11. data/app/commands/decidim/decidim_awesome/admin/create_custom_redirect.rb +10 -14
  12. data/app/commands/decidim/decidim_awesome/admin/create_menu_hack.rb +9 -8
  13. data/app/commands/decidim/decidim_awesome/admin/create_proposal_custom_field.rb +3 -8
  14. data/app/commands/decidim/decidim_awesome/admin/create_scoped_admin.rb +4 -8
  15. data/app/commands/decidim/decidim_awesome/admin/create_scoped_style.rb +3 -7
  16. data/app/commands/decidim/decidim_awesome/admin/destroy_authorization_group.rb +37 -0
  17. data/app/commands/decidim/decidim_awesome/admin/destroy_custom_redirect.rb +10 -9
  18. data/app/commands/decidim/decidim_awesome/admin/destroy_menu_hack.rb +8 -7
  19. data/app/commands/decidim/decidim_awesome/admin/destroy_proposal_custom_field.rb +7 -13
  20. data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_admin.rb +7 -10
  21. data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_style.rb +6 -11
  22. data/app/commands/decidim/decidim_awesome/admin/update_config.rb +12 -1
  23. data/app/commands/decidim/decidim_awesome/admin/update_custom_redirect.rb +11 -11
  24. data/app/commands/decidim/decidim_awesome/admin/update_menu_hack.rb +10 -8
  25. data/app/controllers/concerns/decidim/decidim_awesome/admin/maintenance_context.rb +0 -28
  26. data/app/controllers/concerns/decidim/decidim_awesome/enforce_access_authorizations.rb +49 -0
  27. data/app/controllers/concerns/decidim/decidim_awesome/needs_hashcash.rb +43 -0
  28. data/app/controllers/concerns/decidim/decidim_awesome/not_found_redirect.rb +2 -2
  29. data/app/controllers/decidim/decidim_awesome/admin/admin_authorizations_controller.rb +2 -2
  30. data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +0 -4
  31. data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +2 -1
  32. data/app/controllers/decidim/decidim_awesome/admin/constraints_controller.rb +2 -0
  33. data/app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb +1 -2
  34. data/app/controllers/decidim/decidim_awesome/admin/force_authorizations_controller.rb +44 -0
  35. data/app/controllers/decidim/decidim_awesome/admin/hashcash_controller.rb +39 -0
  36. data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +1 -1
  37. data/app/controllers/decidim/decidim_awesome/admin/{maintenance_controller.rb → private_data_controller.rb} +9 -9
  38. data/app/controllers/decidim/decidim_awesome/required_authorizations_controller.rb +51 -13
  39. data/app/controllers/decidim/decidim_awesome/utils_controller.rb +17 -0
  40. data/app/forms/concerns/decidim/decidim_awesome/proposals/admin/proposal_form_customizations.rb +59 -0
  41. data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_customizations.rb +28 -28
  42. data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_customizations_base.rb +36 -0
  43. data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_override.rb +7 -1
  44. data/app/forms/decidim/decidim_awesome/admin/authorization_group_form.rb +66 -0
  45. data/app/forms/decidim/decidim_awesome/admin/config_form.rb +23 -24
  46. data/app/forms/decidim/decidim_awesome/admin/constraint_form.rb +2 -0
  47. data/app/helpers/concerns/decidim/decidim_awesome/amendments_helper_override.rb +2 -1
  48. data/app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb +21 -18
  49. data/app/helpers/decidim/decidim_awesome/map_helper.rb +4 -2
  50. data/app/models/decidim/decidim_awesome/paper_trail_version.rb +1 -1
  51. data/app/overrides/decidim/assemblies/admin/assemblies/_form/add_visibility_callout.html.erb.deface +3 -0
  52. data/app/overrides/decidim/conferences/admin/conferences/_form/add_visibility_callout.html.erb.deface +3 -0
  53. data/app/overrides/decidim/devise/registrations/new/add_hashcash.html.erb.deface +3 -0
  54. data/app/overrides/decidim/devise/sessions/new/add_hashcash.html.erb.deface +3 -0
  55. data/app/overrides/decidim/participatory_processes/admin/participatory_process_groups/_form/add_visibility_callout.html.erb.deface +3 -0
  56. data/app/overrides/decidim/participatory_processes/admin/participatory_processes/_form/add_visibility_callout.html.erb.deface +3 -0
  57. data/app/overrides/decidim/shared/_login_modal/add_hashcash.html.erb.deface +3 -0
  58. data/app/overrides/layouts/decidim/_head/add_awesome_custom_styles.html.erb.deface +3 -0
  59. data/app/overrides/layouts/decidim/_head/add_awesome_tags.html.erb.deface +0 -2
  60. data/app/packs/entrypoints/decidim_decidim_awesome_hashcash.js +4 -0
  61. data/app/packs/src/decidim/decidim_awesome/admin/auto_edit.js +25 -6
  62. data/app/packs/src/decidim/decidim_awesome/admin/custom_fields_builder.js +4 -2
  63. data/app/packs/src/decidim/decidim_awesome/admin/verifications.js +6 -3
  64. data/app/packs/src/decidim/decidim_awesome/awesome_admin.js +0 -1
  65. data/app/packs/src/decidim/decidim_awesome/awesome_map/api/proposals_fetcher.js +1 -1
  66. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/controller.js +1 -1
  67. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/proposals_controller.js +1 -1
  68. data/app/packs/src/decidim/decidim_awesome/awesome_map/controls_ui.js +6 -6
  69. data/app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js +1 -1
  70. data/app/packs/src/decidim/decidim_awesome/forms/autosave.js +3 -3
  71. data/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js +1 -113
  72. data/app/packs/src/decidim/decidim_awesome/proposals/images.js +1 -1
  73. data/app/packs/src/vendor/form_builder_langs/ar-SA.lang +111 -0
  74. data/app/packs/src/vendor/form_builder_langs/ar-TN.lang +94 -0
  75. data/app/packs/src/vendor/form_builder_langs/ca-ES.lang +110 -0
  76. data/app/packs/src/vendor/form_builder_langs/cs-CZ.lang +105 -0
  77. data/app/packs/src/vendor/form_builder_langs/da-DK.lang +110 -0
  78. data/app/packs/src/vendor/form_builder_langs/de-DE.lang +109 -0
  79. data/app/packs/src/vendor/form_builder_langs/el-GR.lang +110 -0
  80. data/app/packs/src/vendor/form_builder_langs/en-US.lang +117 -0
  81. data/app/packs/src/vendor/form_builder_langs/es-ES.lang +103 -0
  82. data/app/packs/src/vendor/form_builder_langs/fa-IR.lang +108 -0
  83. data/app/packs/src/vendor/form_builder_langs/fi-FI.lang +107 -0
  84. data/app/packs/src/vendor/form_builder_langs/fr-FR.lang +117 -0
  85. data/app/packs/src/vendor/form_builder_langs/he-IL.lang +108 -0
  86. data/app/packs/src/vendor/form_builder_langs/hi-IN.lang +110 -0
  87. data/app/packs/src/vendor/form_builder_langs/hu-HU.lang +108 -0
  88. data/app/packs/src/vendor/form_builder_langs/id-ID.lang +110 -0
  89. data/app/packs/src/vendor/form_builder_langs/it-IT.lang +107 -0
  90. data/app/packs/src/vendor/form_builder_langs/ja-JP.lang +108 -0
  91. data/app/packs/src/vendor/form_builder_langs/my-MM.lang +108 -0
  92. data/app/packs/src/vendor/form_builder_langs/nb-NO.lang +94 -0
  93. data/app/packs/src/vendor/form_builder_langs/nl-NL.lang +94 -0
  94. data/app/packs/src/vendor/form_builder_langs/pl-PL.lang +122 -0
  95. data/app/packs/src/vendor/form_builder_langs/pt-BR.lang +110 -0
  96. data/app/packs/src/vendor/form_builder_langs/pu-IN.lang +110 -0
  97. data/app/packs/src/vendor/form_builder_langs/qz-MM.lang +108 -0
  98. data/app/packs/src/vendor/form_builder_langs/ro-RO.lang +94 -0
  99. data/app/packs/src/vendor/form_builder_langs/ru-RU.lang +110 -0
  100. data/app/packs/src/vendor/form_builder_langs/sl-SI.lang +110 -0
  101. data/app/packs/src/vendor/form_builder_langs/th-TH.lang +111 -0
  102. data/app/packs/src/vendor/form_builder_langs/tr-TR.lang +115 -0
  103. data/app/packs/src/vendor/form_builder_langs/uk-UA.lang +108 -0
  104. data/app/packs/src/vendor/form_builder_langs/vi-VN.lang +94 -0
  105. data/app/packs/src/vendor/form_builder_langs/zh-CN.lang +100 -0
  106. data/app/packs/src/vendor/form_builder_langs/zh-TW.lang +94 -0
  107. data/app/packs/src/vendor/hashcash.js +83 -0
  108. data/app/packs/src/vendor/sha1.js +143 -0
  109. data/app/packs/src/vendor/stamp.js +50 -0
  110. data/app/packs/stylesheets/decidim/decidim_awesome/admin/codemirror.scss +6 -1
  111. data/app/packs/stylesheets/decidim/decidim_awesome/admin/constraints.scss +5 -0
  112. data/app/packs/stylesheets/decidim/decidim_awesome/admin/custom_fields.scss +1 -2
  113. data/app/packs/stylesheets/decidim/decidim_awesome/forms/autosave.scss +2 -12
  114. data/app/presenters/decidim/decidim_awesome/private_data_presenter.rb +2 -2
  115. data/app/queries/decidim/decidim_awesome/space_constraint_finder.rb +43 -0
  116. data/app/serializers/concerns/decidim/decidim_awesome/proposals/proposal_serializer_methods.rb +3 -2
  117. data/app/services/decidim/decidim_awesome/access_authorization_service.rb +79 -0
  118. data/app/types/concerns/decidim/decidim_awesome/add_proposal_type_custom_fields.rb +2 -1
  119. data/app/views/decidim/decidim_awesome/admin/admin_accountability/index.html.erb +4 -4
  120. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/callout.html.erb +2 -2
  121. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/conflict.html.erb +4 -4
  122. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/edit.html.erb +6 -5
  123. data/app/views/decidim/decidim_awesome/admin/checks/index.html.erb +6 -6
  124. data/app/views/decidim/decidim_awesome/admin/config/_authorization_options_form.html.erb +19 -0
  125. data/app/views/decidim/decidim_awesome/admin/config/_autoedit_box_label.html.erb +2 -2
  126. data/app/views/decidim/decidim_awesome/admin/config/_constraints.html.erb +3 -3
  127. data/app/views/decidim/decidim_awesome/admin/config/_form_admins.html.erb +4 -3
  128. data/app/views/decidim/decidim_awesome/admin/config/_form_editors.html.erb +1 -1
  129. data/app/views/decidim/decidim_awesome/admin/config/_form_proposal_custom_fields.html.erb +4 -4
  130. data/app/views/decidim/decidim_awesome/admin/config/_form_scoped_styles.html.erb +3 -3
  131. data/app/views/decidim/decidim_awesome/admin/config/_form_surveys.html.erb +40 -2
  132. data/app/views/decidim/decidim_awesome/admin/config/_form_verifications.html.erb +71 -9
  133. data/app/views/decidim/decidim_awesome/admin/constraints/_form.html.erb +5 -4
  134. data/app/views/decidim/decidim_awesome/admin/hashcash/_filters.html.erb +55 -0
  135. data/app/views/decidim/decidim_awesome/admin/hashcash/index.html.erb +33 -0
  136. data/app/views/decidim/decidim_awesome/admin/hashcash/ip_addresses.html.erb +29 -0
  137. data/app/views/decidim/decidim_awesome/admin/hashcash/show.html.erb +42 -0
  138. data/app/views/decidim/decidim_awesome/admin/menu_hacks/index.html.erb +2 -2
  139. data/app/views/decidim/decidim_awesome/admin/{maintenance → private_data}/_private_data.html.erb +2 -2
  140. data/app/views/decidim/decidim_awesome/admin/{maintenance/show.html.erb → private_data/index.html.erb} +2 -3
  141. data/app/views/decidim/decidim_awesome/admin/proposals/_private_body.html.erb +1 -1
  142. data/app/views/decidim/decidim_awesome/admin/shared/_visibility_notice.html.erb +8 -0
  143. data/app/views/decidim/decidim_awesome/amendments/_modal.html.erb +2 -2
  144. data/app/views/decidim/decidim_awesome/hashcash/_hidden_field.html.erb +4 -0
  145. data/app/views/decidim/decidim_awesome/required_authorizations/index.html.erb +14 -4
  146. data/app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb +2 -2
  147. data/app/views/layouts/decidim/decidim_awesome/admin/maintenance.html.erb +2 -11
  148. data/config/assets.rb +1 -0
  149. data/config/i18n-tasks.yml +2 -0
  150. data/config/locales/ca.yml +100 -37
  151. data/config/locales/cs.yml +100 -36
  152. data/config/locales/de.yml +98 -35
  153. data/config/locales/en.yml +117 -44
  154. data/config/locales/es.yml +100 -36
  155. data/config/locales/eu.yml +34 -39
  156. data/config/locales/fr.yml +77 -31
  157. data/config/locales/ja.yml +99 -36
  158. data/config/locales/sv.yml +49 -0
  159. data/lib/decidim/decidim_awesome/admin_engine.rb +9 -5
  160. data/lib/decidim/decidim_awesome/{authorizator.rb → authorizer.rb} +1 -1
  161. data/lib/decidim/decidim_awesome/awesome.rb +34 -24
  162. data/lib/decidim/decidim_awesome/awesome_helpers.rb +14 -5
  163. data/lib/decidim/decidim_awesome/checksums.yml +26 -40
  164. data/lib/decidim/decidim_awesome/config.rb +18 -7
  165. data/lib/decidim/decidim_awesome/context_analyzers/request_analyzer.rb +1 -1
  166. data/lib/decidim/decidim_awesome/engine.rb +14 -3
  167. data/lib/decidim/decidim_awesome/menu.rb +151 -138
  168. data/lib/decidim/decidim_awesome/middleware/current_config.rb +5 -10
  169. data/lib/decidim/decidim_awesome/test/initializer.rb +5 -2
  170. data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +1 -3
  171. data/lib/decidim/decidim_awesome/test/shared_examples/editor_examples.rb +2 -1
  172. data/lib/decidim/decidim_awesome/test/shared_examples/proposal_form_examples.rb +191 -0
  173. data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +15 -4
  174. data/lib/decidim/decidim_awesome/version.rb +1 -1
  175. data/lib/tasks/decidim_awesome_upgrade_tasks.rake +4 -1
  176. data/package.json +7 -8
  177. metadata +86 -13
  178. data/app/controllers/concerns/decidim/decidim_awesome/check_login_authorizations.rb +0 -60
  179. data/app/packs/src/decidim/decidim_awesome/admin/verification_selects.js +0 -21
  180. data/config/rubocop/disabled.yml +0 -11
  181. data/config/rubocop/faker.yml +0 -480
  182. data/config/rubocop/rails.yml +0 -88
  183. data/config/rubocop/rspec.yml +0 -65
  184. data/config/rubocop/ruby.yml +0 -1210
@@ -1,5 +1,8 @@
1
1
  ---
2
2
  en:
3
+ active_hashcash:
4
+ submit_filter: Filter
5
+ waiting_label: Waiting for verification ...
3
6
  activemodel:
4
7
  attributes:
5
8
  config:
@@ -7,11 +10,13 @@ en:
7
10
  allow_images_in_editors: Allow images in the HTML editor
8
11
  allow_images_in_proposals: Allow images in the proposals editor
9
12
  allow_videos_in_editors: Allow videos in the HTML editor
13
+ authorization_options_form: Authorization options
10
14
  auto_save_forms: Auto save forms in local storage
11
- force_authorization_after_login: Force authorization after login/registering
12
- force_authorization_help_text: Help text for the authorization page
13
- force_authorization_with_any_method: Allow access if any of the authorizations
14
- is granted (by default, all are required)
15
+ force_authorizations: Authorization group %{id}
16
+ hashcash_login: Enable the Hashcash bot protection for existing users (login)
17
+ hashcash_login_bits: Number of bits for the Hashcash algorithm (login)
18
+ hashcash_signup: Enable the Hashcash bot protection for new users (sign up)
19
+ hashcash_signup_bits: Number of bits for the Hashcash algorithm (sign up)
15
20
  intergram_auto_no_response: A message that is sent one minute after the user
16
21
  sends its first message and no response was received
17
22
  intergram_auto_response: A message that is sent immediately after the user
@@ -45,6 +50,7 @@ en:
45
50
  validate_title_min_length: Minimum required characters for the title
46
51
  validate_title_start_with_caps: Force the title to start with a capital letter
47
52
  constraint:
53
+ application_context: Only for
48
54
  component_id: or specifically in
49
55
  component_manifest: Only in components of type
50
56
  participatory_space_manifest: Apply to participatory spaces of type
@@ -149,7 +155,7 @@ en:
149
155
  voting_cards_box_title: Title for the voting box
150
156
  voting_cards_box_title_help: Default is "Vote on this proposal". Use "-"
151
157
  to hide it.
152
- voting_cards_instructions: Support instructions/help (dissmissable modal
158
+ voting_cards_instructions: Support instructions/help (dismissible modal
153
159
  window)
154
160
  voting_cards_instructions_help: Default is "Please read the election rules
155
161
  carefully to understand how your vote will be used by %{organization}""
@@ -244,7 +250,10 @@ en:
244
250
  index:
245
251
  admin_head_tags: Awesome tags included in the admin application header
246
252
  decidim-admin: From Admin module
253
+ decidim-assemblies: From Assemblies module
254
+ decidim-conferences: From Conferences module
247
255
  decidim-core: From Core module
256
+ decidim-participatory_processes: From Participatory Processes module
248
257
  decidim-proposals: From Proposals module
249
258
  decidim_version: Decidim version %{version}
250
259
  errors:
@@ -261,6 +270,7 @@ en:
261
270
  You can start the process now and it will be performed in the background.
262
271
  start_image_migrations: "👉 Start the migration process now"
263
272
  config:
273
+ anonymous: Non-logged users
264
274
  caution: 'NOTE: This feature heavily modifies some default behaviors that
265
275
  might lead to unexpected results. Use it with caution!'
266
276
  constraints:
@@ -271,6 +281,9 @@ en:
271
281
  delete: Delete
272
282
  edit: Edit
273
283
  title: 'Applicable only in these cases:'
284
+ create_force_authorization:
285
+ error: Error creating a new authorization group! %{error}
286
+ success: Authorization group %{key} created successfully
274
287
  create_proposal_custom_field:
275
288
  error: Error creating a new "custom field" box! %{error}
276
289
  success: '"custom field" box %{key} created successfully'
@@ -280,6 +293,9 @@ en:
280
293
  create_scoped_style:
281
294
  error: Error creating a new CSS box! %{error}
282
295
  success: CSS box %{key} created successfully
296
+ destroy_force_authorization:
297
+ error: Error removing authorization group! %{error}
298
+ success: Authorization group %{key} removed successfully
283
299
  destroy_proposal_custom_field:
284
300
  error: Error removing "custom field" box! %{error}
285
301
  success: '"custom field" box %{key} removed successfully'
@@ -289,6 +305,7 @@ en:
289
305
  destroy_scoped_style:
290
306
  error: Error removing CSS box! %{error}
291
307
  success: CSS box %{key} removed successfully
308
+ force_authorizations: Authorization groups
292
309
  form:
293
310
  additional_proposal_sortings:
294
311
  enable_all: Enable all additional sorting options
@@ -300,6 +317,7 @@ en:
300
317
  errors:
301
318
  incorrect_css: 'CSS in box #%{key} is invalid'
302
319
  incorrect_json: 'JSON definition in box #%{key} is invalid'
320
+ force_authorization_help_text: Help text for the authorization page
303
321
  help:
304
322
  allow_images_in_editors: This will add an image uploader icon in all
305
323
  the WYSIWYG editors
@@ -317,14 +335,25 @@ en:
317
335
  drag_and_drop_supported: When uploading images, Drag & Drop is supported.
318
336
  Images will be uploaded to the server and inserted as external resources
319
337
  (it doesn't use base64 inline encoding).
320
- force_authorization_after_login: 'If enabled, users will be redirected
321
- to the authorization page after login or registration if some of the
322
- specified authorizations are not granted. This is useful if you want
323
- to force users to be verified with a specific authorization before
324
- they can login at all (ie: to prevent spam).'
325
338
  force_authorization_help_text: Add a custom text to explain why authorization
326
339
  is required. Also make sure you add a contact method in case users
327
340
  need help.
341
+ hashcash_i18n_key: 'You can customize the text that is shown to users
342
+ in the login/sign up submit buttons with the i18n key: %{key}'
343
+ hashcash_login: |
344
+ Protect Rails applications against bots and brute force attacks without annoying humans.
345
+ Hashcash is a proof-of-work system that requires users to solve a computational puzzle (performed automatically by the browser) before they can sign up.
346
+ hashcash_login_bits: This parameter defines the number of bits that
347
+ the Hashcash algorithm will use to generate the proof-of-work. It
348
+ is recommended to use a value between 16 (easy) and 30 (extremely
349
+ hard) bits. The default value for login forms is %{bits} bits.
350
+ hashcash_signup: |
351
+ Protect Rails applications against bots and brute force attacks without annoying humans.
352
+ Hashcash is a proof-of-work system that requires users to solve a computational puzzle (performed automatically by the browser) before they can sign up.
353
+ hashcash_signup_bits: This parameter defines the number of bits that
354
+ the Hashcash algorithm will use to generate the proof-of-work. It
355
+ is recommended to use a value between 16 (easy) and 30 (extremely
356
+ hard) bits. The default value for sign up forms is %{bits} bits.
328
357
  intergram_about: Intergram uses Telegram messenger to handle a live
329
358
  support chat widget embedded in the bottom of the page.
330
359
  intergram_config: Invite the <a href="https://web.telegram.org/#/im?p=@IntergramBot">@Intergram
@@ -387,12 +416,22 @@ en:
387
416
  validate_title_min_length: Title is always mandatory and this number
388
417
  cannot be zero
389
418
  verifications_html: |
390
- Here you can make some tweaks to the verification process.<br>
391
- <b>NOTE:</b> Be aware that changing these settings might prevent some users from accessing the platform. Use it with caution!<br><br>
392
- Also note that these settings are applied to all users. Admins will always have access to the admin backend though.
419
+ Here you can put additional access restrictions to participatory spaces or components that will force users to be verified before accessing certain locations (ie: to prevent spam).<br>
420
+ Restrictions apply to all users but administrators will always have access to the /admin panel.
393
421
  validators:
394
422
  body: User input validations for the "body" field
395
423
  title: User input validations for the "title" field
424
+ form_force_authorizations:
425
+ delete: Delete
426
+ force_authorizations_html: |
427
+ Define verification groups. Each group can require users to be verified
428
+ by one or more methods to access specific areas of the platform.
429
+ help: You can define groups of authorization methods and restrict access
430
+ based on them.
431
+ new: Add a new authorization group
432
+ remove: Remove this "authorization group"
433
+ sure_to_remove: Are you sure you want to destroy this authorization group?
434
+ title: 'Restrict access with:'
396
435
  form_proposal_custom_fields:
397
436
  delete: Delete
398
437
  new: Add a new "custom fields" box
@@ -440,6 +479,7 @@ en:
440
479
  update:
441
480
  error: Error updating configuration! %{error}
442
481
  success: Configuration updated successfully
482
+ user_logged_in: Logged in users
443
483
  constraints:
444
484
  create:
445
485
  error: Error creating condition case
@@ -497,39 +537,28 @@ en:
497
537
  update:
498
538
  error: Error updating redirection! %{error}
499
539
  success: Redirection updated successfully
500
- maintenance:
501
- private_data:
502
- component: Space / Component
503
- confirm_delete: Are you sure you want to delete all private data for this
504
- resource? This cannot be undone.
505
- delete: Delete all
506
- destroying_private_data: Private data for %{title} is set to be destroyed.
507
- Please check again in a few minutes.
508
- done: Done
540
+ hashcash:
541
+ filters:
542
+ ip_addresses: View IP addresses
543
+ stamps: View Hashcash stamps
544
+ index:
545
+ bits: Bits
546
+ created_at: Created at
509
547
  help_html: |
510
- This tool allows you to delete all private data for a specific participatory space or component. This action is irreversible and will remove all private data from the database.
511
- <br><br>
512
- <strong>What is considered private data?</strong>
513
- <br>
514
- Private data is any information that is not publicly available and is only accessible to administrators. This, at the moment, includes private custom fields information.
515
- <br><br>
516
- <strong>What happens when I delete private data?</strong>
517
- <br>
518
- When you delete private data, all private information for the selected participatory space or component will be permanently removed from the database. A log of this action will be stored in the system for auditing purposes.
519
- <br><br>
520
- <strong>What happens to public data?</strong>
521
- <br>
522
- Public data will not be affected by this action. Only private data will be deleted.
548
+ This page shows the Hashcash stamps that have been detected in the system. Hashcash is a proof-of-work system that requires users to solve a computational puzzle (performed automatically by the browser) before they can sign up.
523
549
  <br><br>
524
- <strong>Is there a minimum time to wait before deleting private data?</strong>
525
- <br>
526
- Yes, you cannot delete private data if the last update was less than %{time_ago} ago. You can change this configuration in the initializer file.
527
- items_count: Total affected
528
- last_date: Last update
529
- no_data: No private data found older than %{time_ago} ago
530
- not_destroyable: This resource cannot be destroyed yet
531
- removing: Removing...
532
- time_ago: "%{time} ago"
550
+ Each entry in this list represents a Hashcash stamp that has been generated by a user every time they have signed up or logged in.
551
+ ip_address: IP address
552
+ no_data: No Hashcash stamps found
553
+ request_path: Request path
554
+ ip_addresses:
555
+ help_html: This page list all the IP addresses that have been detected
556
+ in the system ordered by the number of Hashcash stamps they have generated.
557
+ <br><br> Each stamp is either a login or a sign up action by a user.
558
+ You can use this information to detect suspicious activity.
559
+ ip_address: IP address
560
+ no_data: No IP addresses found
561
+ stamps: Hashcash stamps
533
562
  menu:
534
563
  admins: Scoped Admins
535
564
  custom_redirects: Custom Redirections
@@ -537,6 +566,7 @@ en:
537
566
  livechat: Live Chat
538
567
  maintenance:
539
568
  checks: System Compatibility
569
+ hashcash: Hashcash stamps
540
570
  maintenance: Maintenance
541
571
  private_data: Private data
542
572
  menu_hacks: Menu Tweaks
@@ -574,6 +604,8 @@ en:
574
604
  title: Global menu home block
575
605
  menu:
576
606
  title: Main menu
607
+ mobile_menu:
608
+ title: Mobile menu
577
609
  new: New item
578
610
  remove: Remove addition
579
611
  remove_hack: Remove customization
@@ -590,6 +622,39 @@ en:
590
622
  verification_modal:
591
623
  authorizations_for: Authorizations for %{user}
592
624
  close: Close
625
+ private_data:
626
+ private_data:
627
+ component: Space / Component
628
+ confirm_delete: Are you sure you want to delete all private data for this
629
+ resource? This cannot be undone.
630
+ delete: Delete all
631
+ destroying: Private data for %{title} is set to be destroyed. Please check
632
+ again in a few minutes.
633
+ done: Done
634
+ help_html: |
635
+ This tool allows you to delete all private data for a specific participatory space or component. This action is irreversible and will remove all private data from the database.
636
+ <br><br>
637
+ <strong>What is considered private data?</strong>
638
+ <br>
639
+ Private data is any information that is not publicly available and is only accessible to administrators. This, at the moment, includes private custom fields information.
640
+ <br><br>
641
+ <strong>What happens when I delete private data?</strong>
642
+ <br>
643
+ When you delete private data, all private information for the selected participatory space or component will be permanently removed from the database. A log of this action will be stored in the system for auditing purposes.
644
+ <br><br>
645
+ <strong>What happens to public data?</strong>
646
+ <br>
647
+ Public data will not be affected by this action. Only private data will be deleted.
648
+ <br><br>
649
+ <strong>Is there a minimum time to wait before deleting private data?</strong>
650
+ <br>
651
+ Yes, you cannot delete private data if the last update was less than %{time_ago} ago. You can change this configuration in the initializer file.
652
+ items_count: Total affected
653
+ last_date: Last update
654
+ no_data: No private data found older than %{time_ago} ago
655
+ not_destroyable: This resource cannot be destroyed yet
656
+ removing: Removing...
657
+ time_ago: "%{time} ago"
593
658
  proposal_custom_fields:
594
659
  menu:
595
660
  title: Public fields
@@ -604,6 +669,11 @@ en:
604
669
  scoped_styles:
605
670
  menu:
606
671
  title: Public frontend
672
+ visibility:
673
+ info_html: You can manage additional access restrictions using verifications
674
+ with %{awesome_link}.
675
+ restricted_html: This space is using additional access restrictions with
676
+ %{awesome_link}.
607
677
  admin_log:
608
678
  component:
609
679
  destroy_private_data: "%{user_name} destroyed %{count} items of private
@@ -689,6 +759,8 @@ en:
689
759
  proposal_private_custom_fields_disclosure: This information won't be published
690
760
  required_authorizations:
691
761
  index:
762
+ authorization_options_invalid: Unfortunately, although you have this authorization,
763
+ the data used to verify you is not valid in this context.
692
764
  cancel: I'll do this in another moment, %{link}.
693
765
  granted_title: Granted verifications
694
766
  logout: let me logout
@@ -761,6 +833,7 @@ en:
761
833
  title: 'Maintenance tools: %{title}'
762
834
  titles:
763
835
  checks: System Compatibility Checks
836
+ hashcash: Hashcash stamps
764
837
  private_data: Private Data Clean-Up
765
838
  awesome_config:
766
839
  amendments: Amendments
@@ -1,4 +1,7 @@
1
1
  es:
2
+ active_hashcash:
3
+ submit_filter: Filtrar
4
+ waiting_label: Esperando verificación...
2
5
  activemodel:
3
6
  attributes:
4
7
  config:
@@ -6,10 +9,13 @@ es:
6
9
  allow_images_in_editors: Permitir imágenes en el editor HTML
7
10
  allow_images_in_proposals: Permitir imágenes en el editor de propuestas
8
11
  allow_videos_in_editors: Permitir vídeos en el editor HTML
12
+ authorization_options_form: Opciones de autorización
9
13
  auto_save_forms: Guardar automáticamente los formularios en el almacenamiento local
10
- force_authorization_after_login: Forzar autorización después de iniciar sesión/registro
11
- force_authorization_help_text: Texto de ayuda para la página de autorización
12
- force_authorization_with_any_method: Permitir el acceso si se concede alguna de las autorizaciones (por defecto, todas son necesarias)
14
+ force_authorizations: Grupo de autorización %{id}
15
+ hashcash_login: Habilitar la protección del bot Hashcash para los usuarios existentes (login)
16
+ hashcash_login_bits: Número de bits para el algoritmo Hashcash (login)
17
+ hashcash_signup: Habilitar la protección del bot Hashcash para nuevos usuarios (registro)
18
+ hashcash_signup_bits: Número de bits para el algoritmo Hashcash (registro)
13
19
  intergram_auto_no_response: Un mensaje que se envía un minuto después de que la usuaria haya enviado su primer mensaje y no se haya recibido respuesta
14
20
  intergram_auto_response: Un mensaje que se envía inmediatamente después de que la usuaria envíe su primer mensaje
15
21
  intergram_chat_id: ID de chat
@@ -35,6 +41,7 @@ es:
35
41
  validate_title_min_length: Mínimo de caracteres requeridos para el título
36
42
  validate_title_start_with_caps: Forzar al título a comenzar con una letra mayúscula
37
43
  constraint:
44
+ application_context: Solo para
38
45
  component_id: o específicamente en
39
46
  component_manifest: Solo en componentes de tipo
40
47
  participatory_space_manifest: Aplicar en los espacios participativos de tipo
@@ -206,7 +213,10 @@ es:
206
213
  index:
207
214
  admin_head_tags: Etiquetas Awesome incluidas en el encabezado de la aplicación de administración
208
215
  decidim-admin: Del módulo Admin
216
+ decidim-assemblies: Del módulo Assemblies
217
+ decidim-conferences: Del módulo Conferences
209
218
  decidim-core: Del módulo Core
219
+ decidim-participatory_processes: Del módulo Participatory Processes
210
220
  decidim-proposals: Del módulo Propuestas
211
221
  decidim_version: Versión de Decidim %{version}
212
222
  errors:
@@ -221,6 +231,7 @@ es:
221
231
  Puedes iniciar el proceso ahora y se realizará en segundo plano.
222
232
  start_image_migrations: "\U0001F449 Iniciar el proceso de migración ahora"
223
233
  config:
234
+ anonymous: Usuarios no identificados
224
235
  caution: 'NOTA: Esta función modifica en gran medida algunos comportamientos por defecto que pueden llevar a resultados inesperados. ¡Utilícelo con precaución!'
225
236
  constraints:
226
237
  add_condition: Añadir restricción
@@ -229,6 +240,9 @@ es:
229
240
  delete: Eliminar
230
241
  edit: Editar
231
242
  title: 'Se aplica solo en estos casos:'
243
+ create_force_authorization:
244
+ error: '¡Error al crear un nuevo grupo de autorización! %{error}'
245
+ success: Grupo de autorización %{key} creado correctamente
232
246
  create_proposal_custom_field:
233
247
  error: '¡Error al crear una nueva caja de "campo personalizado"! %{error}'
234
248
  success: 'La caja "campo personalizado" %{key} se ha creado correctamente'
@@ -238,6 +252,9 @@ es:
238
252
  create_scoped_style:
239
253
  error: '¡Error al crear una nueva caja CSS! %{error}'
240
254
  success: Caja CSS %{key} creada correctamente
255
+ destroy_force_authorization:
256
+ error: '¡Error al eliminar el grupo de autorización! %{error}'
257
+ success: Grupo de autorización %{key} eliminado correctamente
241
258
  destroy_proposal_custom_field:
242
259
  error: '¡Error al eliminar la caja "campo personalizado"! %{error}'
243
260
  success: 'La caja "campo personalizado" %{key} se ha eliminado correctamente'
@@ -247,6 +264,7 @@ es:
247
264
  destroy_scoped_style:
248
265
  error: '¡Error al eliminar la caja CSS! %{error}'
249
266
  success: Caja CSS %{key} eliminada correctamente
267
+ force_authorizations: Grupos de autorizaciones
250
268
  form:
251
269
  additional_proposal_sortings:
252
270
  enable_all: Habilitar todas las opciones de ordenación adicionales
@@ -256,14 +274,23 @@ es:
256
274
  errors:
257
275
  incorrect_css: 'El CSS de la caja #%{key} no es válido'
258
276
  incorrect_json: 'La definición JSON en la caja #%{key} no es válida'
277
+ force_authorization_help_text: Texto de ayuda para la página de autorización
259
278
  help:
260
279
  allow_images_in_editors: Esto añadirá un icono para subir imágenes en el editor HTML
261
280
  allow_images_in_proposals: Esto permitirá subir imágenes en el editor de propuestas, disponibles para cualquier usuaria
262
281
  allow_videos_in_editors: Esto añadirá un icono para enlazar videos en el editor HTML
263
282
  auto_save_forms: Esto usará el almacenamiento local del navegador para guardar automáticamente los datos introducidos por las usuarias en las encuestas y otros formularios mientras los rellenen. Si no se ha mandado el formulario, los datos se restaurarán en la siguiente visita con el mismo navegador. Los datos se eliminarán una vez se envíe el formulario. Si las usuarias eliminan sus datos del navegador, estos tampoco se restaurarán.
264
283
  drag_and_drop_supported: Cuando se suban imágenes, se puede hacer a través del método "arrastrar & soltar". Las imágenes se subirán en el servidor y se insertarán como recursos externos (no se utiliza codificación en línea base64).
265
- force_authorization_after_login: 'Si está habilitado, las usuarias serán redireccionados a la página de autorización después del inicio de sesión o registro si algunas de las autorizaciones especificadas no son concedidas. Esto es útil si desea forzar a las usuarias a que se verifiquen a través de una autorización específica antes de que puedan iniciar sesión en cualquier momento (por ejemplo: para prevenir spam).'
266
284
  force_authorization_help_text: Añade un texto personalizado para explicar por qué es necesaria la autorización. Asegúrate también de añadir un modo de contacto en caso de que las usuarias necesiten ayuda.
285
+ hashcash_i18n_key: 'Puedes personalizar el texto que se muestra a los usuarios en los botones de inicio de sesión / registro de envío con la clave de i18n: %{key}'
286
+ hashcash_login: |
287
+ Protege las aplicaciones de las Rails contra bots y ataques de fuerza bruta sin molestar a los humanos.
288
+ Hashcash es un sistema de prueba de trabajo que requiere que los usuarios resuelvan un rompecabezas computacional (realizado automáticamente por el navegador) antes de poder iniciar sesión.
289
+ hashcash_login_bits: Este parámetro define el número de bits que el algoritmo Hashcash utilizará para generar la prueba de trabajo. Se recomienda utilizar un valor entre 16 (fácil) y 30 bits (extremadamente duro). El valor por defecto para los formularios de inicio de sesión es %{bits} bits.
290
+ hashcash_signup: |
291
+ Protege las aplicaciones de las Rails contra bots y ataques de fuerza bruta sin molestar a los humanos.
292
+ Hashcash es un sistema de prueba de trabajo que requiere que los usuarios resuelvan un rompecabezas computacional (realizado automáticamente por el navegador) antes de poder registrarse.
293
+ hashcash_signup_bits: Este parámetro define el número de bits que el algoritmo Hashcash utilizará para generar la prueba de trabajo. Se recomienda utilizar un valor entre 16 (fácil) y 30 bits (extremadamente duro). El valor por defecto para los formularios de inicio de sesión es %{bits} bits.
267
294
  intergram_about: Intergram utiliza el Telegram Messenger para gestionar un widget de chat de soporte incrustado en la parte inferior de la página.
268
295
  intergram_config: 'Invita a la <a href="https://web.telegram.org/#/im?p=@IntergramBot">@Intergram bot</a> a tu grupo o inicia un chat con ella directamente. <a href="https://github.com/idoco/intergram#embed-intergram-in-your-website-with-these-2-simple-steps">+ info</a>'
269
296
  original_editor_override: Desde la versión 0.26, es posible (sólo para administradoras) subir imágenes en los editores. Por lo tanto, las opciones de configuración para imágenes aquí sólo afecta a los editores públicos (las administradoras siempre lo tendrán activado).
@@ -290,12 +317,21 @@ es:
290
317
  validate_title_max_marks_together: 'Limitar el número de símbolos de preguntas y exclamaciones que se pueden escribir juntos. Es decir, si es 2, entonces ''!!!'' no estará permitido en el texto'
291
318
  validate_title_min_length: El título siempre es obligatorio y este número no puede ser cero
292
319
  verifications_html: |
293
- Aquí puedes realizar algunos ajustes en el proceso de verificación.<br>
294
- <b>NOTA:</b> Ten en cuenta que cambiar estos ajustes puede impedir que algunas usuarias accedan a la plataforma. ¡Utilízalo con precaución!<br><br>
295
- Ten en cuenta también, que estos ajustes se aplican a todas las usuarias. Las administradoras siempre tendrán acceso al tablero de administración.
320
+ Puedes poner restricciones de acceso adicionales a los espacios participativos o componentes que obligarán a los usuarios a ser verificados antes de acceder a ciertas ubicaciones (por ejemplo: para prevenir spam).<br>
321
+ Restricciones se aplican a todos los usuarios, pero los administradores siempre tendrán acceso al panel /admin.
296
322
  validators:
297
323
  body: Validaciones de entrada de usuario para el campo "cuerpo"
298
324
  title: Validaciones de entrada de usuario para el campo "título"
325
+ form_force_authorizations:
326
+ delete: Eliminar
327
+ force_authorizations_html: |
328
+ Define grupos de verificación. Cada grupo puede requerir que los usuarios sean verificados
329
+ por uno o más métodos para acceder a áreas específicas de la plataforma.
330
+ help: Puedes definir grupos de métodos de autorización y restringir el acceso basado en ellos.
331
+ new: Añadir nuevo grupo de autorización
332
+ remove: Eliminar este grupo de autorización
333
+ sure_to_remove: '¿Estás segura de que quieres eliminar este grupo de autorización?'
334
+ title: 'Restringir el acceso con:'
299
335
  form_proposal_custom_fields:
300
336
  delete: Eliminar
301
337
  new: Añadir una nueva caja de "campos personalizados"
@@ -342,6 +378,7 @@ es:
342
378
  update:
343
379
  error: '¡Error actualizando la configuración! %{error}'
344
380
  success: Configuración actualizada correctamente
381
+ user_logged_in: Usuarios con la sesión iniciada
345
382
  constraints:
346
383
  create:
347
384
  error: Error creando una nueva restricción
@@ -398,37 +435,25 @@ es:
398
435
  update:
399
436
  error: '¡Error al actualizar la redirección! %{error}'
400
437
  success: Redirección actualizada correctamente
401
- maintenance:
402
- private_data:
403
- component: Espacio / Componente
404
- confirm_delete: '¿Está seguro que desea eliminar todos los datos privados de este recurso? Esta acción no se puede deshacer.'
405
- delete: Eliminar todo
406
- destroying_private_data: Los datos privados para %{title} serán destruidos en breve. Por favor, compruébalo de nuevo en unos minutos.
407
- done: Hecho
438
+ hashcash:
439
+ filters:
440
+ ip_addresses: Ver direcciones IP
441
+ stamps: Ver sellos Hashcash
442
+ index:
443
+ bits: Bits
444
+ created_at: Creado el
408
445
  help_html: |
409
- Esta herramienta permite eliminar todos los datos privados de un determinado espacio participativo o componente. Esta acción es irreverible y eliminará todos los datos privados de la base de datos.
410
- <br><br>
411
- <strong>¿Qué se considera información privada?</strong>
412
- <br>
413
- Los datos privados son cualquier información que no está disponible públicamente y sólo es accesible a los administradores. Esto, en este momento, incluye información privada de los campos personalizados.
414
- <br><br>
415
- <strong>¿Qué ocurre cuando elimino datos privados?</strong>
416
- <br>
417
- Al borrar datos privados, toda la información privada del espacio o componente participativo seleccionado será eliminada permanentemente de la base de datos. Un registro de esta acción se almacenará en el sistema para fines de auditoría (pero no los datos en si).
446
+ Esta página muestra los sellos de Hashcash que han sido detectados en el sistema. Hashcash es un sistema de prueba de trabajo que requiere que los usuarios resuelvan un rompecabezas computacional (realizado automáticamente por el navegador) antes de que puedan registrarse.
418
447
  <br><br>
419
- <strong>¿Qué pasa con los datos públicos?</strong>
420
- <br>
421
- datos públicos no se verán afectados por esta acción. Sólo los datos privados serán eliminados.
422
- <br><br>
423
- <strong>¿Hay un tiempo mínimo para esperar antes de eliminar datos privados?</strong>
424
- <br>
425
- Sí, no puede eliminar datos privados si la última actualización fue menor que la %{time_ago} . Puede cambiar esta configuración en un archivo inicializador.
426
- items_count: Total afectados
427
- last_date: Última actualización
428
- no_data: No se han encontrado datos privados anteriores a %{time_ago}
429
- not_destroyable: Este recurso no puede ser destruido todavía
430
- removing: Eliminando...
431
- time_ago: "Hace %{time}"
448
+ Cada entrada en esta lista representa un sello Hashcash que ha sido generado por un usuario cada vez que se ha registrado o conectado.
449
+ ip_address: Dirección IP
450
+ no_data: No se encontraron sellos Hashcash
451
+ request_path: Ruta solicitud
452
+ ip_addresses:
453
+ help_html: This page list all the IP addresses that have been detected in the system ordered by the number of Hashcash stamps they have generated. <br><br> Each stamp is either a login or a sign up action by a user. You can use this information to detect suspicious activity.
454
+ ip_address: Dirección IP
455
+ no_data: No se encontraron direcciones IP
456
+ stamps: Sellos Hashcash
432
457
  menu:
433
458
  admins: Administradoras acotadas
434
459
  custom_redirects: Redirecciones personalizadas
@@ -436,6 +461,7 @@ es:
436
461
  livechat: Chat en vivo
437
462
  maintenance:
438
463
  checks: Compatibilidad del sistema
464
+ hashcash: Sellos Hashcash
439
465
  maintenance: Mantenimiento
440
466
  private_data: Datos privados
441
467
  menu_hacks: Ajustes en el menú
@@ -472,6 +498,8 @@ es:
472
498
  title: Bloque de menú global en la home
473
499
  menu:
474
500
  title: Menú principal
501
+ mobile_menu:
502
+ title: Menú móvil
475
503
  new: Crear nuevo ítem
476
504
  remove: Eliminar adición
477
505
  remove_hack: Eliminar personalización
@@ -487,6 +515,37 @@ es:
487
515
  verification_modal:
488
516
  authorizations_for: Autorizaciones para %{user}
489
517
  close: Cerrar
518
+ private_data:
519
+ private_data:
520
+ component: Espacio / Componente
521
+ confirm_delete: '¿Está seguro que desea eliminar todos los datos privados de este recurso? Esta acción no se puede deshacer.'
522
+ delete: Eliminar todo
523
+ destroying: Los datos privados para %{title} serán destruidos en breve. Por favor, compruébalo de nuevo en unos minutos.
524
+ done: Hecho
525
+ help_html: |
526
+ Esta herramienta permite eliminar todos los datos privados de un determinado espacio participativo o componente. Esta acción es irreverible y eliminará todos los datos privados de la base de datos.
527
+ <br><br>
528
+ <strong>¿Qué se considera información privada?</strong>
529
+ <br>
530
+ Los datos privados son cualquier información que no está disponible públicamente y sólo es accesible a los administradores. Esto, en este momento, incluye información privada de los campos personalizados.
531
+ <br><br>
532
+ <strong>¿Qué ocurre cuando elimino datos privados?</strong>
533
+ <br>
534
+ Al borrar datos privados, toda la información privada del espacio o componente participativo seleccionado será eliminada permanentemente de la base de datos. Un registro de esta acción se almacenará en el sistema para fines de auditoría (pero no los datos en si).
535
+ <br><br>
536
+ <strong>¿Qué pasa con los datos públicos?</strong>
537
+ <br>
538
+ datos públicos no se verán afectados por esta acción. Sólo los datos privados serán eliminados.
539
+ <br><br>
540
+ <strong>¿Hay un tiempo mínimo para esperar antes de eliminar datos privados?</strong>
541
+ <br>
542
+ Sí, no puede eliminar datos privados si la última actualización fue menor que la %{time_ago}. Puede cambiar esta configuración en un archivo inicializador.
543
+ items_count: Total afectados
544
+ last_date: Última actualización
545
+ no_data: No se han encontrado datos privados anteriores a %{time_ago}
546
+ not_destroyable: Este recurso no puede ser destruido todavía
547
+ removing: Eliminando...
548
+ time_ago: "Hace %{time}"
490
549
  proposal_custom_fields:
491
550
  menu:
492
551
  title: Campos públicos
@@ -501,6 +560,9 @@ es:
501
560
  scoped_styles:
502
561
  menu:
503
562
  title: Interfaz pública
563
+ visibility:
564
+ info_html: Puedes administrar restricciones de acceso adicionales usando verificaciones con %{awesome_link}.
565
+ restricted_html: Este espacio está utilizando restricciones de acceso adicionales con %{awesome_link}.
504
566
  admin_log:
505
567
  component:
506
568
  destroy_private_data: "%{user_name} ha destruido %{count} elementos de datos privados para %{resource_name} en %{space_name}"
@@ -574,6 +636,7 @@ es:
574
636
  proposal_private_custom_fields_disclosure: Esta información no será publicada
575
637
  required_authorizations:
576
638
  index:
639
+ authorization_options_invalid: Desafortunadamente, aunque tiene esta autorización, los datos utilizados para verificarte que no son válidos en este contexto.
577
640
  cancel: Haré esto en otro momento, %{link}.
578
641
  granted_title: Verificaciones concedidas
579
642
  logout: déjame cerrar la sesión
@@ -640,6 +703,7 @@ es:
640
703
  title: 'Herramientas de mantenimiento: %{title}'
641
704
  titles:
642
705
  checks: Análisis de compatibilidad del sistema
706
+ hashcash: Sellos Hashcash
643
707
  private_data: Limpieza de datos privados
644
708
  awesome_config:
645
709
  amendments: Enmiendas