decidim-core 0.20.1 → 0.21.0

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

Potentially problematic release.


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

Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/fonts/decidim/Roboto-Regular.eot +0 -0
  3. data/app/assets/fonts/decidim/Roboto-Regular.svg +10520 -0
  4. data/app/assets/fonts/decidim/Roboto-Regular.ttf +0 -0
  5. data/app/assets/fonts/decidim/Roboto-Regular.woff +0 -0
  6. data/app/assets/fonts/decidim/Roboto-Regular.woff2 +0 -0
  7. data/app/assets/images/decidim/brands/google.svg +1 -0
  8. data/app/assets/javascripts/decidim.js.es6 +5 -0
  9. data/app/assets/javascripts/decidim/check_boxes_tree.js.es6 +190 -0
  10. data/app/assets/javascripts/decidim/core/bundle.js +1 -1
  11. data/app/assets/javascripts/decidim/core/bundle.js.map +1 -1
  12. data/app/assets/javascripts/decidim/delayed.js.es6 +26 -0
  13. data/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6 +25 -4
  14. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +86 -38
  15. data/app/assets/javascripts/decidim/form_filter.component.test.js +40 -6
  16. data/app/assets/javascripts/decidim/history.js.es6 +16 -1
  17. data/app/assets/javascripts/decidim/vizzs/orgchart.js.es6 +1 -1
  18. data/app/assets/stylesheets/decidim/_variables.scss +1 -1
  19. data/app/assets/stylesheets/decidim/extras/_results-per-page.scss +0 -1
  20. data/app/assets/stylesheets/decidim/modules/_buttons.scss +76 -3
  21. data/app/assets/stylesheets/decidim/modules/_comments.scss +78 -2
  22. data/app/assets/stylesheets/decidim/modules/_filters.scss +36 -2
  23. data/app/assets/stylesheets/decidim/modules/_layout.scss +13 -0
  24. data/app/assets/stylesheets/decidim/modules/_modules.scss +1 -0
  25. data/app/assets/stylesheets/decidim/modules/_navbar.scss +11 -5
  26. data/app/assets/stylesheets/decidim/modules/_process-stats.scss +53 -0
  27. data/app/assets/stylesheets/decidim/modules/_status-labels.scss +5 -0
  28. data/app/assets/stylesheets/decidim/modules/_tags.scss +7 -1
  29. data/app/assets/stylesheets/decidim/modules/_typography.scss +49 -4
  30. data/app/assets/stylesheets/decidim/utils/_fontface.scss +10 -0
  31. data/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +14 -0
  32. data/app/cells/decidim/activity/show.erb +1 -1
  33. data/app/cells/decidim/author/profile_inline.erb +2 -2
  34. data/app/cells/decidim/diff/attribute.erb +15 -5
  35. data/app/cells/decidim/diff/diff_mode_html.erb +31 -0
  36. data/app/cells/decidim/diff/diff_split.erb +1 -1
  37. data/app/cells/decidim/diff/diff_unified.erb +1 -1
  38. data/app/cells/decidim/diff/show.erb +1 -0
  39. data/app/cells/decidim/diff_cell.rb +21 -8
  40. data/app/cells/decidim/follow_button/show.erb +20 -7
  41. data/app/cells/decidim/navbar_admin_link/show.erb +6 -0
  42. data/app/cells/decidim/navbar_admin_link_cell.rb +43 -0
  43. data/app/cells/decidim/tags_cell.rb +2 -2
  44. data/app/commands/decidim/amendable/accept.rb +9 -4
  45. data/app/commands/decidim/amendable/publish_draft.rb +5 -0
  46. data/app/commands/decidim/amendable/reject.rb +5 -0
  47. data/app/commands/decidim/amendable/withdraw.rb +3 -12
  48. data/app/commands/decidim/create_registration.rb +5 -6
  49. data/app/controllers/concerns/decidim/use_organization_time_zone.rb +32 -0
  50. data/app/controllers/decidim/application_controller.rb +3 -0
  51. data/app/controllers/decidim/components/base_controller.rb +1 -0
  52. data/app/controllers/decidim/data_portability_controller.rb +12 -19
  53. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -1
  54. data/app/controllers/decidim/devise/registrations_controller.rb +1 -0
  55. data/app/controllers/decidim/scopes_controller.rb +41 -7
  56. data/app/forms/decidim/registration_form.rb +5 -0
  57. data/app/functions/decidim/core/component_finder_base.rb +33 -0
  58. data/app/functions/decidim/core/component_list.rb +38 -0
  59. data/app/functions/decidim/core/component_list_base.rb +61 -0
  60. data/app/functions/decidim/core/needs_api_filter_and_order.rb +52 -0
  61. data/app/functions/decidim/core/participatory_space_finder.rb +11 -0
  62. data/app/functions/decidim/core/participatory_space_finder_base.rb +29 -0
  63. data/app/functions/decidim/core/participatory_space_list.rb +11 -0
  64. data/app/functions/decidim/core/participatory_space_list_base.rb +34 -0
  65. data/app/helpers/decidim/amendments_helper.rb +27 -1
  66. data/app/helpers/decidim/application_helper.rb +31 -3
  67. data/app/helpers/decidim/categories_helper.rb +26 -0
  68. data/app/helpers/decidim/check_boxes_tree_helper.rb +115 -0
  69. data/app/helpers/decidim/omniauth_helper.rb +6 -13
  70. data/app/helpers/decidim/resource_versions_helper.rb +29 -0
  71. data/app/helpers/decidim/rich_text_editor_helper.rb +22 -0
  72. data/app/helpers/decidim/sanitize_helper.rb +3 -1
  73. data/app/helpers/decidim/scopes_helper.rb +3 -2
  74. data/app/jobs/decidim/data_portability_export_job.rb +18 -10
  75. data/app/jobs/decidim/export_job.rb +1 -1
  76. data/app/mailers/decidim/export_mailer.rb +9 -5
  77. data/app/models/decidim/omniauth_provider.rb +28 -0
  78. data/app/models/decidim/organization.rb +41 -0
  79. data/app/models/decidim/participatory_space_role_config/admin.rb +8 -0
  80. data/app/models/decidim/participatory_space_role_config/base.rb +31 -0
  81. data/app/models/decidim/participatory_space_role_config/collaborator.rb +8 -0
  82. data/app/models/decidim/participatory_space_role_config/moderator.rb +11 -0
  83. data/app/models/decidim/participatory_space_role_config/null_object.rb +11 -0
  84. data/app/models/decidim/participatory_space_role_config/participatory_space_admin.rb +8 -0
  85. data/app/models/decidim/participatory_space_role_config/valuator.rb +11 -0
  86. data/app/models/decidim/scope.rb +4 -2
  87. data/app/models/decidim/user.rb +19 -3
  88. data/app/presenters/decidim/home_stats_presenter.rb +5 -2
  89. data/app/presenters/decidim/resource_locator_presenter.rb +9 -0
  90. data/app/serializers/decidim/exporters/participatory_space_components_serializer.rb +1 -1
  91. data/app/serializers/decidim/importers/participatory_space_components_importer.rb +14 -5
  92. data/app/services/decidim/data_portability_exporter.rb +72 -0
  93. data/app/services/decidim/resource_search.rb +29 -13
  94. data/app/services/decidim/zip_stream/zip_stream_writer.rb +56 -0
  95. data/app/types/decidim/core/amendment_type.rb +26 -0
  96. data/app/types/decidim/core/area_api_type.rb +16 -0
  97. data/app/types/decidim/core/area_type_type.rb +14 -0
  98. data/app/types/decidim/core/base_input_filter.rb +8 -0
  99. data/app/types/decidim/core/base_input_sort.rb +22 -0
  100. data/app/types/decidim/core/component_input_filter.rb +50 -0
  101. data/app/types/decidim/core/component_input_sort.rb +32 -0
  102. data/app/types/decidim/core/fingerprint_type.rb +15 -0
  103. data/app/types/decidim/core/has_hastaggable_input_filter.rb +15 -0
  104. data/app/types/decidim/core/has_localized_input_filter.rb +21 -0
  105. data/app/types/decidim/core/has_localized_input_sort.rb +21 -0
  106. data/app/types/decidim/core/has_publishable_input_filter.rb +34 -0
  107. data/app/types/decidim/core/has_publishable_input_sort.rb +13 -0
  108. data/app/types/decidim/core/participatory_space_input_filter.rb +26 -0
  109. data/app/types/decidim/core/participatory_space_input_sort.rb +14 -0
  110. data/app/types/decidim/core/participatory_space_link_type.rb +24 -0
  111. data/app/types/decidim/core/trace_version_type.rb +29 -0
  112. data/app/uploaders/decidim/data_portability_uploader.rb +2 -7
  113. data/app/validators/time_zone_validator.rb +10 -0
  114. data/app/views/decidim/amendments/_edit_form_fields.html.erb +5 -13
  115. data/app/views/decidim/amendments/preview_draft.html.erb +1 -1
  116. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +10 -12
  117. data/app/views/decidim/devise/shared/_omniauth_buttons_mini.html.erb +6 -8
  118. data/app/views/decidim/export_mailer/data_portability_export.html.erb +2 -2
  119. data/app/views/decidim/scopes/picker.html.erb +7 -3
  120. data/app/views/decidim/shared/_check_boxes_tree.html.erb +54 -0
  121. data/app/views/decidim/shared/_extended_navigation_bar.html.erb +1 -1
  122. data/app/views/decidim/widgets/show.html.erb +4 -0
  123. data/app/views/layouts/decidim/_admin_links.html.erb +2 -0
  124. data/app/views/layouts/decidim/_wrapper.html.erb +4 -3
  125. data/app/views/layouts/decidim/widget.html.erb +1 -43
  126. data/config/initializers/browser.rb +5 -0
  127. data/config/initializers/devise.rb +0 -22
  128. data/config/initializers/omniauth.rb +50 -0
  129. data/config/locales/ar.yml +6 -3
  130. data/config/locales/ca.yml +15 -6
  131. data/config/locales/cs.yml +12 -3
  132. data/config/locales/de.yml +5 -3
  133. data/config/locales/el-GR.yml +0 -2
  134. data/config/locales/el.yml +153 -0
  135. data/config/locales/en.yml +16 -7
  136. data/config/locales/eo-UY.yml +2 -2
  137. data/config/locales/es-MX.yml +12 -3
  138. data/config/locales/es-PY.yml +12 -3
  139. data/config/locales/es.yml +15 -6
  140. data/config/locales/eu.yml +4 -3
  141. data/config/locales/fi-plain.yml +12 -3
  142. data/config/locales/fi.yml +12 -3
  143. data/config/locales/fr.yml +5 -3
  144. data/config/locales/gl.yml +4 -3
  145. data/config/locales/hu.yml +12 -3
  146. data/config/locales/id-ID.yml +4 -3
  147. data/config/locales/it.yml +11 -3
  148. data/config/locales/nl.yml +8 -3
  149. data/config/locales/no.yml +12 -3
  150. data/config/locales/pl.yml +4 -3
  151. data/config/locales/pt-BR.yml +4 -3
  152. data/config/locales/pt.yml +4 -3
  153. data/config/locales/ru.yml +5 -3
  154. data/config/locales/sv.yml +5 -3
  155. data/config/locales/tr-TR.yml +4 -3
  156. data/config/locales/uk.yml +1 -3
  157. data/db/migrate/20191113092826_add_omniauth_settings_to_decidim_organization.rb +7 -0
  158. data/db/migrate/20191113144432_add_rich_text_editor_in_public_views_to_organizations.rb +10 -0
  159. data/db/migrate/20191118123154_add_admin_terms_of_use_body_field_to_organization.rb +9 -0
  160. data/db/migrate/20200107142226_add_organization_timezone.rb +7 -0
  161. data/db/seeds.rb +2 -1
  162. data/lib/decidim/amendable.rb +7 -4
  163. data/lib/decidim/api/amendable_entity_interface.rb +18 -0
  164. data/lib/decidim/api/amendable_interface.rb +18 -0
  165. data/lib/decidim/api/attachable_interface.rb +1 -1
  166. data/lib/decidim/api/categorizable_interface.rb +1 -1
  167. data/lib/decidim/api/coauthorable_interface.rb +29 -0
  168. data/lib/decidim/api/fingerprint_interface.rb +13 -0
  169. data/lib/decidim/api/participatory_space_interface.rb +9 -9
  170. data/lib/decidim/api/participatory_space_resourceable_interface.rb +21 -0
  171. data/lib/decidim/api/scopable_interface.rb +1 -1
  172. data/lib/decidim/api/timestamps_interface.rb +21 -0
  173. data/lib/decidim/api/traceable_interface.rb +14 -0
  174. data/lib/decidim/coauthorable.rb +9 -2
  175. data/lib/decidim/component_manifest.rb +1 -1
  176. data/lib/decidim/content_processor.rb +4 -2
  177. data/lib/decidim/content_renderers/link_renderer.rb +1 -1
  178. data/lib/decidim/core.rb +3 -3
  179. data/lib/decidim/core/api.rb +7 -0
  180. data/lib/decidim/core/test.rb +1 -0
  181. data/lib/decidim/core/test/factories.rb +16 -0
  182. data/lib/decidim/core/test/shared_examples/amendable_interface_examples.rb +14 -0
  183. data/lib/decidim/core/test/shared_examples/amendable_proposals_interface_examples.rb +50 -0
  184. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +3 -0
  185. data/lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb +60 -0
  186. data/lib/decidim/core/test/shared_examples/comments_examples.rb +8 -8
  187. data/lib/decidim/core/test/shared_examples/fingerprintable_interface_examples.rb +17 -0
  188. data/lib/decidim/core/test/shared_examples/follows_examples.rb +16 -0
  189. data/lib/decidim/core/test/shared_examples/input_filter_examples.rb +118 -0
  190. data/lib/decidim/core/test/shared_examples/input_sort_examples.rb +105 -0
  191. data/lib/decidim/core/test/shared_examples/participatory_space_resourcable_interface_examples.rb +43 -0
  192. data/lib/decidim/core/test/shared_examples/rich_text_editor_examples.rb +59 -0
  193. data/lib/decidim/core/test/shared_examples/timestamps_interface_examples.rb +21 -0
  194. data/lib/decidim/core/test/shared_examples/traceable_interface_examples.rb +47 -0
  195. data/lib/decidim/core/version.rb +1 -1
  196. data/lib/decidim/deprecations.rb +19 -0
  197. data/lib/decidim/diffy_extension.rb +26 -0
  198. data/lib/decidim/exporters/export_manifest.rb +6 -2
  199. data/lib/decidim/filter_form_builder.rb +25 -7
  200. data/lib/decidim/form_builder.rb +2 -2
  201. data/lib/decidim/has_settings.rb +10 -4
  202. data/lib/decidim/participatory_space_manifest.rb +20 -0
  203. data/lib/decidim/participatory_space_resourceable.rb +35 -1
  204. data/lib/decidim/query_extensions.rb +9 -23
  205. data/lib/decidim/scopable.rb +10 -0
  206. data/lib/tasks/decidim_data_portability_tasks.rake +66 -5
  207. data/lib/tasks/decidim_metrics_tasks.rake +18 -7
  208. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.el.js +14 -0
  209. metadata +142 -16
  210. data/app/models/decidim/participatory_process_user_role.rb +0 -32
  211. data/app/views/layouts/decidim/_edit_link.html.erb +0 -8
  212. data/lib/decidim/data_portability_file_reader.rb +0 -56
  213. data/lib/decidim/data_portability_file_zipper.rb +0 -67
@@ -0,0 +1,2 @@
1
+ <%= content_for(:extra_admin_link) if content_for?(:extra_admin_link) %>
2
+ <%= content_for(:edit_link) if content_for?(:edit_link) %>
@@ -51,10 +51,10 @@ end
51
51
  </div>
52
52
  <% if current_user %>
53
53
  <div class="topbar__dropmenu topbar__user__logged">
54
- <%= link_to decidim.notifications_path, class: "topbar__notifications #{current_user.notifications.any? ? "is-active" : ""}" do %>
54
+ <%= link_to decidim.notifications_path, class: "topbar__notifications #{current_user.notifications.any? ? "is-active" : ""}", "aria-label": t("layouts.decidim.user_menu.notifications") do %>
55
55
  <%= icon "bell" %>
56
56
  <% end %>
57
- <%= link_to decidim.conversations_path, class: "topbar__conversations #{current_user.unread_conversations.any? ? "is-active" : ""}" do %>
57
+ <%= link_to decidim.conversations_path, class: "topbar__conversations #{current_user.unread_conversations.any? ? "is-active" : ""}", "aria-label": t("layouts.decidim.user_menu.conversations") do %>
58
58
  <%= icon "envelope-closed" %>
59
59
  <% end %>
60
60
  <ul class="dropdown menu" data-dropdown-menu>
@@ -82,7 +82,8 @@ end
82
82
  </div>
83
83
  </div>
84
84
  <% end %>
85
- <%= render partial: "layouts/decidim/edit_link" %>
85
+
86
+ <%= render partial: "layouts/decidim/admin_links" %>
86
87
  </div>
87
88
  </div>
88
89
  <div class="show-for-medium" data-set="nav-holder">
@@ -19,50 +19,8 @@
19
19
  <div class="row collapse">
20
20
  <div class="column">
21
21
 
22
- <article class="card">
23
- <% if current_participatory_space.banner_image %>
24
- <div class="card__image-top" style="background-image: url(<%= current_participatory_space.banner_image.url %>)"></div>
25
- <% end %>
22
+ <%= yield %>
26
23
 
27
- <div class="card__content">
28
- <div class="card__header">
29
- <%= link_to model do %>
30
- <h5 class="card__title"><%= content_for(:title) %></h5>
31
- <% end %>
32
- <% if model.try(:author) %>
33
- <% present(model.author) do |user| %>
34
- <div class="card__author author-data author-data--small">
35
- <div class="author-data__main">
36
- <div class="author author--inline">
37
- <span class="author__avatar author__avatar--small">
38
- <%= image_tag user.avatar_url %>
39
- </span>
40
- <span class="author__name">
41
- <strong><%= user.name %></strong>
42
- <%= user.nickname %>
43
- </span>
44
- <%= l model.created_at, format: "%d/%m/%Y" %>
45
- </div>
46
- </div>
47
- </div>
48
- <% end %>
49
- <% end %>
50
- </div>
51
- <%= yield %>
52
- </div>
53
- <div class="card__footer">
54
- <% if content_for?(:footer) %>
55
- <%= content_for(:footer) %>
56
- <% else %>
57
- <div class="card__support">
58
- <div class="card__support__data"></div>
59
- <%= link_to model, class: "card__button button small", target: "_blank" do %>
60
- <%= t(".see_more") %>
61
- <% end %>
62
- </div>
63
- <% end %>
64
- </div>
65
- </article>
66
24
  </div>
67
25
  </div>
68
26
  <div class="organization">
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "browser/browser"
4
+ require "browser/aliases"
5
+ Browser::Base.include(Browser::Aliases)
@@ -297,28 +297,6 @@ Devise.setup do |config|
297
297
  # The default HTTP method used to sign out a resource. Default is :delete.
298
298
  config.sign_out_via = :delete
299
299
 
300
- # ==> OmniAuth
301
- # Add a new OmniAuth provider. Check the wiki for more information on setting
302
- # up on your models and hooks.
303
- config.omniauth :developer, fields: [:name, :nickname, :email] if Rails.application.secrets.dig(:omniauth, :developer).present?
304
- if Rails.application.secrets.dig(:omniauth, :facebook).present?
305
- config.omniauth :facebook,
306
- Rails.application.secrets.omniauth[:facebook][:app_id],
307
- Rails.application.secrets.omniauth[:facebook][:app_secret],
308
- scope: :email,
309
- info_fields: "name,email,verified"
310
- end
311
- if Rails.application.secrets.dig(:omniauth, :twitter).present?
312
- config.omniauth :twitter,
313
- Rails.application.secrets.omniauth[:twitter][:api_key],
314
- Rails.application.secrets.omniauth[:twitter][:api_secret]
315
- end
316
- if Rails.application.secrets.dig(:omniauth, :google_oauth2).present?
317
- config.omniauth :google_oauth2,
318
- Rails.application.secrets.omniauth[:google_oauth2][:client_id],
319
- Rails.application.secrets.omniauth[:google_oauth2][:client_secret]
320
- end
321
-
322
300
  # ==> Warden configuration
323
301
  # If you want to use other strategies, that are not supported by Devise, or
324
302
  # change the failure app, you can configure them inside the config.warden block.
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ def setup_provider_proc(provider, config_mapping = {})
4
+ lambda do |env|
5
+ request = Rack::Request.new(env)
6
+ organization = Decidim::Organization.find_by(host: request.host)
7
+ provider_config = organization.enabled_omniauth_providers[provider]
8
+
9
+ config_mapping.each do |option_key, config_key|
10
+ env["omniauth.strategy"].options[option_key] = provider_config[config_key]
11
+ env["omniauth.strategy"].options[option_key] = provider_config[config_key]
12
+ end
13
+ end
14
+ end
15
+
16
+ Rails.application.config.middleware.use OmniAuth::Builder do
17
+ omniauth_config = Rails.application.secrets.dig(:omniauth)
18
+
19
+ if omniauth_config
20
+ if omniauth_config[:developer].present?
21
+ provider(
22
+ :developer,
23
+ fields: [:name, :nickname, :email]
24
+ )
25
+ end
26
+
27
+ if omniauth_config[:facebook].present?
28
+ provider(
29
+ :facebook,
30
+ setup: setup_provider_proc(:facebook, client_id: :app_id, client_secret: :app_secret),
31
+ scope: :email,
32
+ info_fields: "name,email,verified"
33
+ )
34
+ end
35
+
36
+ if omniauth_config[:twitter].present?
37
+ provider(
38
+ :twitter,
39
+ setup: setup_provider_proc(:twitter, consumer_key: :api_key, consumer_secret: :api_secret)
40
+ )
41
+ end
42
+
43
+ if omniauth_config[:google_oauth2].present?
44
+ provider(
45
+ :google_oauth2,
46
+ setup: setup_provider_proc(:google_oauth2, client_id: :client_id, client_secret: :client_secret)
47
+ )
48
+ end
49
+ end
50
+ end
@@ -81,8 +81,6 @@ ar:
81
81
  account:
82
82
  data_portability_export:
83
83
  file_no_exists: الملف غير موجود
84
- invalid_token: الرمز المميز المقدم غير صالح.
85
- no_token: لا رمزية المقدمة
86
84
  notice: يتم تنزيل بياناتك حاليًا. ستتلقى بريدًا إلكترونيًا عند اكتماله.
87
85
  delete:
88
86
  alert: لا يمكن التراجع عن هذا الإجراء. إذا حذفت حسابك ، فلن تتمكن من تسجيل الدخول.
@@ -102,6 +100,9 @@ ar:
102
100
  error: حدثت مشكلة أثناء تحديث حسابك.
103
101
  success: تم تحديث حسابك بنجاح.
104
102
  success_with_email_confirmation: تم تحديث حسابك بنجاح. ستتلقى بريدًا إلكترونيًا لتأكيد عنوان بريدك الإلكتروني الجديد.
103
+ admin:
104
+ actions:
105
+ cancel: إلغاء
105
106
  admin_log:
106
107
  area:
107
108
  create: "%{user_name} خلق المنطقة %{resource_name}"
@@ -234,6 +235,7 @@ ar:
234
235
  photos:
235
236
  related_photos: الصور ذات الصلة
236
237
  author:
238
+ avatar: الصورة الرمزية
237
239
  comments:
238
240
  zero: تعليقات
239
241
  one: تعليق
@@ -542,7 +544,7 @@ ar:
542
544
  notification_title: و <a href="%{resource_path}">صفحة الملف الشخصي</a> من %{name} (%{nickname})، الذي كنت التالية، وقد تم تحديثها.
543
545
  export_mailer:
544
546
  data_portability_export:
545
- click_button: انقر فوق الزر التالي لتنزيل بياناتك. <br/> سيكون لديك ملف متاح حتى %{date}.
547
+ click_button: 'انقر فوق الزر التالي لتنزيل بياناتك. <br/> سيكون لديك ملف متاح حتى %{date}.'
546
548
  download: تحميل
547
549
  export:
548
550
  ready: يرجى الاطلاع على نسخة مضغوطة من التصدير.
@@ -1206,6 +1208,7 @@ ar:
1206
1208
  cycle_detected: لا يمكن أن يكون والد النطاق أحد أحفاده
1207
1209
  expired: انتهت صلاحيتها ، يرجى طلب واحدة جديدة
1208
1210
  file_size_is_less_than_or_equal_to: يجب أن يكون حجم الملف أقل من أو يساوي %{count}
1211
+ invalid_time_zone: ليست بمنطقة زمنية صالحة
1209
1212
  long_words: يحتوي على كلمات طويلة جدًا (أكثر من 35 حرفًا)
1210
1213
  must_start_with_caps: يجب أن تبدأ بحرف كبير
1211
1214
  nesting_too_deep: لا يمكن أن يكون داخل فئة فرعية
@@ -69,8 +69,6 @@ ca:
69
69
  account:
70
70
  data_portability_export:
71
71
  file_no_exists: L'arxiu no existeix
72
- invalid_token: El token proporcionat no és vàlid.
73
- no_token: Token no proporcionat
74
72
  notice: La descàrrega de les teves dades està en curs. Rebràs un correu electrònic quan estigui completa.
75
73
  delete:
76
74
  alert: Aquesta acció no es pot desfer. Si elimines el teu compte, no podràs iniciar sessió.
@@ -90,6 +88,9 @@ ca:
90
88
  error: S'ha produït un error en actualitzar el teu compte.
91
89
  success: El teu compte s'ha actualitzat correctament.
92
90
  success_with_email_confirmation: El teu compte s'ha actualitzat correctament. Rebràs un correu electrònic per confirmar la teva nova adreça de correu electrònic.
91
+ admin:
92
+ actions:
93
+ cancel: Cancel·lar
93
94
  admin_log:
94
95
  area:
95
96
  create: "%{user_name} ha creat l'àrea %{resource_name}"
@@ -138,6 +139,8 @@ ca:
138
139
  reject: "%{user_name} ha rebutjat la verificació del grup %{resource_name}"
139
140
  verify: "%{user_name} ha verificat el grup %{resource_name}"
140
141
  verify_via_csv: "%{user_name} ha verificat el grup %{resource_name} a través d'un fitxer CSV"
142
+ admin_terms_of_use:
143
+ default_body: "<h2>TERMES D'ÚS PER ADMINS</h2><p>Donem per fet que has rebut l'habitual explicació de l'administrador del sistema local. En general es redueix a aquestes tres coses:</p><ol><li>Respectar la privadesa dels altres.</li><li>Penseu abans de fer clic.</li><li>A un gran poder l'hi correspon gran responsabilitat.</li></ol>"
141
144
  amendments:
142
145
  accepted:
143
146
  error: S'ha produït un error en acceptar l'esmena.
@@ -228,6 +231,7 @@ ca:
228
231
  photos:
229
232
  related_photos: Imatges relacionades
230
233
  author:
234
+ avatar: Avatar
231
235
  comments:
232
236
  one: comentari
233
237
  other: comentaris
@@ -546,7 +550,7 @@ ca:
546
550
  notification_title: El <a href="%{resource_path}"> perfi l</a> de %{name} (%{nickname}), a qui estàs seguint, s'ha actualitzat.
547
551
  export_mailer:
548
552
  data_portability_export:
549
- click_button: Fes clic al botó següent per descarregar les teves dades. <br/> tindràs disponible el fitxer fins a %{date}.
553
+ click_button: 'Fes clic al botó següent per descarregar les teves dades. <br/> tindràs disponible el fitxer fins a %{date}.'
550
554
  download: Descarregar
551
555
  export:
552
556
  ready: S'adjunta una versió comprimida de l'exportació.
@@ -576,6 +580,7 @@ ca:
576
580
  create:
577
581
  button: Seguir
578
582
  error: S'ha produït un error en seguir aquest recurs.
583
+ participatory_space: Seguint
579
584
  destroy:
580
585
  button: Deixar de seguir
581
586
  error: S'ha produït un error en deixar de seguir aquest recurs.
@@ -860,7 +865,7 @@ ca:
860
865
  participate: Participa
861
866
  welcome: Benvinguda a %{organization}!
862
867
  metrics:
863
- headline: Participació en xifres
868
+ headline: Mètriques
864
869
  statistics:
865
870
  answers_count: Enquestes realitzades
866
871
  assemblies_count: Assemblees
@@ -890,8 +895,8 @@ ca:
890
895
  topics: Temes
891
896
  participatory_space:
892
897
  metrics:
893
- headline: Participació en xifres
894
- link: Mostra totes les estadístiques
898
+ headline: Mètriques
899
+ link: Mostra totes les mètriques
895
900
  terms_and_conditions:
896
901
  accept:
897
902
  error: S'ha produït un error en acceptar els Termes i Condicions.
@@ -1202,6 +1207,7 @@ ca:
1202
1207
  cycle_detected: un dels pares de l'àmbit no pot ser un dels seus descendents
1203
1208
  expired: ha caducat, si us plau, sol·licita'n un de nou
1204
1209
  file_size_is_less_than_or_equal_to: la mida del fitxer ha de ser menor que o igual a %{count}
1210
+ invalid_time_zone: no és una zona horària vàlida
1205
1211
  long_words: conté paraules massa llargues (més de 35 caràcters)
1206
1212
  must_start_with_caps: ha de començar amb una lletra majúscula
1207
1213
  nesting_too_deep: no pot estar dins d'una subcategoria
@@ -1314,8 +1320,11 @@ ca:
1314
1320
  left: Esborrats
1315
1321
  right: Addicions
1316
1322
  dropdown:
1323
+ choose_diff_view_html: 'Vista HTML:'
1317
1324
  choose_diff_view_mode: 'Mode de vista de comparació:'
1325
+ option_escaped: Escapada
1318
1326
  option_split: Costat per costat
1327
+ option_unescaped: No escapada
1319
1328
  option_unified: Unificat
1320
1329
  views:
1321
1330
  pagination:
@@ -75,8 +75,6 @@ cs:
75
75
  account:
76
76
  data_portability_export:
77
77
  file_no_exists: Soubor neexistuje
78
- invalid_token: Zadaný token je neplatný.
79
- no_token: Žádný token není k dispozici
80
78
  notice: Vaše data jsou momentálně v provozu. Po dokončení e-mailu obdržíte e-mail.
81
79
  delete:
82
80
  alert: Tuto akci nelze vrátit zpět. Pokud odstraníte svůj účet, nebudete se moci přihlásit.
@@ -96,6 +94,9 @@ cs:
96
94
  error: Při aktualizaci účtu došlo k chybě.
97
95
  success: Váš účet byl úspěšně aktualizován.
98
96
  success_with_email_confirmation: Váš účet byl úspěšně aktualizován. Obdržíte e-mail, který potvrdí vaši novou e-mailovou adresu.
97
+ admin:
98
+ actions:
99
+ cancel: Zrušit
99
100
  admin_log:
100
101
  area:
101
102
  create: "%{user_name} vytvořila oblast %{resource_name}"
@@ -144,6 +145,8 @@ cs:
144
145
  reject: "%{user_name} odmítl ověření skupiny %{resource_name} uživatelů"
145
146
  verify: "%{user_name} ověřilo %{resource_name} uživatelskou skupinu"
146
147
  verify_via_csv: "%{user_name} ověřilo %{resource_name} skupinu uživatelů prostřednictvím souboru CSV"
148
+ admin_terms_of_use:
149
+ default_body: "<h2>ADMIN TERMY POUŽITÍ</h2><p>Věříme, že jste obdrželi obvyklou lekci od místního správce systému. Obvykle se zredukuje na tyto tři věci:</p><ol><li>Respektujte soukromí ostatních.</li><li>Zamysleme se před kliknutím.</li><li>S velkou mocí přichází velká odpovědnost.</li></ol>"
147
150
  amendments:
148
151
  accepted:
149
152
  error: Při přijímání změny došlo k chybě.
@@ -239,6 +242,7 @@ cs:
239
242
  photos:
240
243
  related_photos: Související fotografie
241
244
  author:
245
+ avatar: Avatar
242
246
  comments:
243
247
  one: komentář
244
248
  few: komentáře
@@ -565,7 +569,7 @@ cs:
565
569
  notification_title: <a href="%{resource_path}">profilová stránka</a> od %{name} (%{nickname}), kterou sledujete, byla aktualizována.
566
570
  export_mailer:
567
571
  data_portability_export:
568
- click_button: Klepnutím na další tlačítko stáhnete data. <br/> Soubor bude k dispozici až do %{date}.
572
+ click_button: 'Klepnutím na další tlačítko stáhnete data. <br/> Soubor bude k dispozici až do %{date}.'
569
573
  download: Stažení
570
574
  export:
571
575
  ready: V příloze naleznete exportovanou exportovanou verzi.
@@ -595,6 +599,7 @@ cs:
595
599
  create:
596
600
  button: Sledovat
597
601
  error: Při sledování tohoto zdroje došlo k chybě.
602
+ participatory_space: Již sledujete participační prostor
598
603
  destroy:
599
604
  button: Ukončit sledování
600
605
  error: Při sledování tohoto zdroje došlo k chybě.
@@ -1226,6 +1231,7 @@ cs:
1226
1231
  cycle_detected: rodič oboru nemůže být jedním z jeho potomků
1227
1232
  expired: uplynula, požádejte o novou
1228
1233
  file_size_is_less_than_or_equal_to: velikost souboru musí být menší nebo rovna %{count}
1234
+ invalid_time_zone: není platné časové pásmo
1229
1235
  long_words: obsahuje slova, která jsou příliš dlouhá (přes 35 znaků)
1230
1236
  must_start_with_caps: musí začínat velkým písmenem
1231
1237
  nesting_too_deep: nemůže být uvnitř podkategorie
@@ -1340,8 +1346,11 @@ cs:
1340
1346
  left: Smazané
1341
1347
  right: Dodatky
1342
1348
  dropdown:
1349
+ choose_diff_view_html: 'Režim HTML zobrazení:'
1343
1350
  choose_diff_view_mode: 'Mód srovnávacího zobrazení:'
1351
+ option_escaped: Escapované
1344
1352
  option_split: Vedle sebe (Sbs)
1353
+ option_unescaped: Neošetřené Esc
1345
1354
  option_unified: Sjednocené
1346
1355
  views:
1347
1356
  pagination:
@@ -69,8 +69,6 @@ de:
69
69
  account:
70
70
  data_portability_export:
71
71
  file_no_exists: Diese Datei existiert nicht
72
- invalid_token: Der angegebene Token ist ungültig.
73
- no_token: Kein Token angegeben
74
72
  notice: Ihre Daten werden gerade bereitgestellt. Sie erhalten nach Fertigstellung eine E-Mail.
75
73
  delete:
76
74
  alert: Diese Aktion kann nicht rückgängig gemacht werden. Wenn Sie Ihr Konto löschen, können Sie sich nicht mehr anmelden.
@@ -90,6 +88,9 @@ de:
90
88
  error: Beim Aktualisieren Ihres Kontos ist ein Fehler aufgetreten.
91
89
  success: Ihr Konto wurde erfolgreich aktualisiert.
92
90
  success_with_email_confirmation: Ihr Konto wurde erfolgreich aktualisiert. Sie erhalten eine E-Mail zur Bestätigung Ihrer neuen E-Mail-Adresse.
91
+ admin:
92
+ actions:
93
+ cancel: Stornieren
93
94
  admin_log:
94
95
  area:
95
96
  create: "%{user_name} hat den %{resource_name} Bereich erstellt"
@@ -229,6 +230,7 @@ de:
229
230
  photos:
230
231
  related_photos: Ähnliche Bilder
231
232
  author:
233
+ avatar: Profilbild
232
234
  comments:
233
235
  one: Kommentar
234
236
  other: Kommentare
@@ -542,7 +544,7 @@ de:
542
544
  notification_title: Die <a href="%{resource_path}">Profilseite</a> von %{name} (%{nickname}), der Sie folgen, wurde aktualisiert.
543
545
  export_mailer:
544
546
  data_portability_export:
545
- click_button: Klicken Sie auf die Schaltfläche "Weiter", um Ihre Daten herunterzuladen. <br/> Sie haben die Datei bis %{date}verfügbar.
547
+ click_button: 'Klicken Sie auf die Schaltfläche "Weiter", um Ihre Daten herunterzuladen. <br/> Sie haben die Datei bis %{date}verfügbar.'
546
548
  download: Herunterladen
547
549
  export:
548
550
  ready: Anbei finden Sie eine gezippte Version Ihres Exports.
@@ -69,8 +69,6 @@ el:
69
69
  account:
70
70
  data_portability_export:
71
71
  file_no_exists: Το αρχείο δεν υπάρχει
72
- invalid_token: Το token δεν είναι έγκυρο.
73
- no_token: Δεν δόθηκε token
74
72
  notice: Η λήψη των δεδομένων σας είναι σε εξέλιξη. Θα λάβετε email όταν ολοκληρωθεί.
75
73
  delete:
76
74
  alert: Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Αν διαγράψετε τον λογαριασμό σας δεν θα μπορείτε να συνδεθείτε.
@@ -0,0 +1,153 @@
1
+ el:
2
+ activemodel:
3
+ attributes:
4
+ account:
5
+ delete_reason: Λόγος διαγραφής λογαριασμού
6
+ group:
7
+ about: Σχετικά με
8
+ avatar: Άβαταρ
9
+ document_number: Αριθμός εγγράφου
10
+ email: Email
11
+ name: Όνομα
12
+ nickname: Ψευδώνυμο
13
+ phone: Τηλέφωνο
14
+ report:
15
+ details: Πρόσθετα σχόλια
16
+ user:
17
+ about: Σχετικά με
18
+ email: Το email σας
19
+ name: Το όνομά σας
20
+ nickname: Ψευδώνυμο
21
+ password: Κωδικός πρόσβασης
22
+ password_confirmation: Επιβεβαιώστε τον κωδικό πρόσβασης
23
+ personal_url: Προσωπική ιστοσελίδα
24
+ remove_avatar: Αφαίρεση avatar
25
+ models:
26
+ decidim/attachment_created_event: Συνημμένο
27
+ decidim/component_published_event: Ενεργό στοιχείο
28
+ decidim/demoted_membership: Δεν είναι πλέον διαχειριστής ομάδας
29
+ decidim/gamification/badge_earned_event: Κερδίσατε έμβλημα
30
+ decidim/gamification/level_up_event: Ανεβήκατε επίπεδο
31
+ decidim/join_request_accepted_event: Το αίτημα συμμετοχής έγινε αποδεκτό
32
+ decidim/join_request_rejected_event: Το αίτημα συμμετοχής απορρίφθηκε
33
+ decidim/profile_updated_event: Το προφίλ ενημερώθηκε
34
+ decidim/promote_to_admin: Αναβάθμιση σε διαχειριστής ομάδας
35
+ decidim/removed_from_group: Αφαιρέθηκε από την ομάδα
36
+ activerecord:
37
+ attributes:
38
+ decidim/user:
39
+ current_password: Τρέχων κωδικός πρόσβασης
40
+ email: Email
41
+ name: Ψευδώνυμο
42
+ password: Κωδικός πρόσβασης
43
+ password_confirmation: Επιβεβαίωση κωδικού πρόσβασης
44
+ remember_me: Απομνημόνευση στοιχείων
45
+ models:
46
+ decidim/amendment:
47
+ one: Τροποποίηση
48
+ other: Τροποποιήσεις
49
+ decidim/user:
50
+ one: Συμμετέχων
51
+ other: Συμμετέχοντες
52
+ decidim/user_group:
53
+ one: Ομάδα
54
+ other: Ομάδες
55
+ booleans:
56
+ 'false': 'Όχι'
57
+ 'true': 'Ναι'
58
+ carrierwave:
59
+ errors:
60
+ image_too_big: Η εικόνα είναι πολύ μεγάλη
61
+ date:
62
+ formats:
63
+ decidim_short: "%d/%m/%Y"
64
+ decidim_short_with_month_name_short: "%d %b %Y"
65
+ decidim_with_day_and_month_name: "%A %d %b %Y"
66
+ decidim_with_month_name: "%d %B %Y"
67
+ decidim_with_month_name_short: "%d %b"
68
+ decidim:
69
+ account:
70
+ data_portability_export:
71
+ file_no_exists: Το αρχείο δεν υπάρχει
72
+ notice: Η λήψη των δεδομένων σας είναι σε εξέλιξη. Θα λάβετε email όταν ολοκληρωθεί.
73
+ delete:
74
+ alert: Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Αν διαγράψετε τον λογαριασμό σας δεν θα μπορείτε να συνδεθείτε.
75
+ confirm:
76
+ close: Κλείσιμο παραθύρου
77
+ amendments:
78
+ amendable:
79
+ button: Τροποποίηση %{model_name}
80
+ error: Υπήρξε σφάλμα κατά την τροποποίηση αυτού του στοιχείου.
81
+ help_text: Βελτιώστε αυτό το %{model_name} τροποποιώντας τα %{amendable_fields}
82
+ promote_button: Αναβάθμιση σε %{model_name}
83
+ promote_confirm_text: Είστε βέβαιοι ότι θέλετε να αναβαθμίσετε αυτήν τη διόρθωση;
84
+ promote_help_text: Μπορείτε να προωθήσετε αυτήν τη διόρθωση και να τη δημοσιεύσετε σαν ένα ανεξάρτητο %{model_name}
85
+ section_heading: Τροποποιήσεις (%{count})
86
+ compare_draft:
87
+ continue: Συνέχεια
88
+ no_similars_found: Δεν βρέθηκαν παρόμοιες διορθώσεις.
89
+ title: Παρόμοιες Διορθώσεις
90
+ created:
91
+ error: Παρουσιάστηκε σφάλμα κατά τη δημιουργία του πρόχειρου τροποποίησης.
92
+ success: Το πρόχειρο τροποποίησης δημιουργήθηκε επιτυχώς.
93
+ destroy_draft:
94
+ error: Υπήρξε ένα πρόβλημα κατά τη διαγραφή του πρόχειρου τροποποίησης.
95
+ success: Το πρόχειρο τροποποίησης διαγράφηκε επιτυχώς.
96
+ edit_draft:
97
+ discard: Διαγραφή πρόχειρου
98
+ discard_confirmation: Είστε βέβαιοι ότι θέλετε να απορρίψετε αυτό το πρόχειρο τροποποίησης;
99
+ send: Προεπισκόπηση
100
+ title: Επεξεργασία Πρόχειρου Τροποποίησης
101
+ emendation:
102
+ actions:
103
+ button_accept: Αποδοχή
104
+ button_reject: Απόρριψη
105
+ help_text: Αξιολογήστε τις αλλαγές και αποδεχθείτε ή απορρίψτε αυτήν την τροποποίηση. Θα σταλεί ειδοποίηση στους συγγραφείς.
106
+ announcement:
107
+ accepted: |-
108
+ Αυτή η τροποποίηση για το %{amendable_type} %{proposal_link} έχει γίνει αποδεκτή στις <strong>%{date}</strong>.
109
+ evaluating: |-
110
+ Αυτή η τροποποίηση για το %{amendable_type} %{proposal_link} είναι υπό αξιολόγηση.
111
+ promoted: Αναβαθμίστηκε σε %{amendable_type}.
112
+ rejected: Αυτή η τροποποίηση για το %{amendable_type} %{proposal_link} απορρίφθηκε στις <strong>%{date}</strong>.
113
+ withdrawn: |-
114
+ Αυτή η τροποποίηση για το %{amendable_type} %{proposal_link} αποσύρθηκε από τους συγγραφείς.
115
+ new:
116
+ amendment_author: Συγγραφέας τροποποίησης
117
+ send: Δημιουργία
118
+ title: Δημιουργία Πρόχειρου Τροποποίησης
119
+ preview_draft:
120
+ modify: Τροποποίηση
121
+ publish: Δημοσίευση
122
+ title: Δημοσίευση Πρόχειρου Τροποποίησης
123
+ promoted:
124
+ error: Υπήρξε ένα πρόβλημα κατά τη δημοσίευση της τροποποίησης ως νέα πρόταση
125
+ success: Η τροποποίηση δημοσιεύτηκε επιτυχώς ως νέα πρόταση
126
+ publish_draft:
127
+ error: Υπήρξε ένα πρόβλημα κατά τη δημοσίευση της τροποποίησης.
128
+ success: Η τροποποίηση δημοσιεύτηκε επιτυχώς.
129
+ rejected:
130
+ error: Υπήρξε ένα πρόβλημα κατά την απόρριψη αυτής της τροποποίησης, παρακαλούμε προσπαθήστε εκ νέου αργότερα
131
+ success: Η τροποποίηση απορρίφθηκε επιτυχώς
132
+ review:
133
+ back: Πίσω
134
+ heading: Αξιολόγηση τροποποίησης
135
+ help_text: Αξιολογείτε την τροποποίηση στο %{model_name}
136
+ send: Αποδοχή τροποποίησης
137
+ update_draft:
138
+ error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση του πρόχειρου τροποποίησης.
139
+ success: Το πρόχειρο τροποποίησης ενημερώθηκε επιτυχώς.
140
+ visibility_options:
141
+ all: Οι τροποποιήσεις είναι ορατές σε όλους
142
+ participants: Οι τροποποιήσεις είναι ορατές μόνο στους συγγραφείς τους
143
+ withdraw:
144
+ error: Παρουσιάστηκε σφάλμα κατά την απόσυρση της τροποποίησης
145
+ success: Η τροποποίηση αποσύρθηκε επιτυχώς
146
+ wizard_step_form:
147
+ steps:
148
+ '1': Create your amendment
149
+ '2': Συγκρίνετε την τροποποίησή σας
150
+ '3': Ολοκληρώστε την τροποποίησή σας
151
+ '4': Publish your amendment
152
+ author:
153
+ avatar: Άβαταρ