decidim-core 0.29.2 → 0.29.3

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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +5 -3
  3. data/app/cells/decidim/profile_actions/show.erb +1 -1
  4. data/app/cells/decidim/report_button/already_reported_modal.erb +2 -2
  5. data/app/cells/decidim/report_button/flag_modal.erb +13 -27
  6. data/app/cells/decidim/report_button_cell.rb +2 -8
  7. data/app/cells/decidim/report_user_button/already_reported_modal.erb +11 -0
  8. data/app/cells/decidim/report_user_button/flag_modal.erb +46 -0
  9. data/app/cells/decidim/report_user_button/show.erb +2 -0
  10. data/app/cells/decidim/report_user_button_cell.rb +59 -0
  11. data/app/cells/decidim/resource_types_filter/show.erb +1 -1
  12. data/app/cells/decidim/resource_types_filter_cell.rb +6 -6
  13. data/app/cells/decidim/user_activity/show.erb +1 -1
  14. data/app/commands/decidim/create_omniauth_registration.rb +14 -8
  15. data/app/commands/decidim/create_report.rb +1 -6
  16. data/app/commands/decidim/search.rb +14 -0
  17. data/app/controllers/decidim/profiles_controller.rb +2 -2
  18. data/app/controllers/decidim/reports_controller.rb +1 -1
  19. data/app/controllers/decidim/user_activities_controller.rb +1 -1
  20. data/app/forms/decidim/account_form.rb +5 -2
  21. data/app/helpers/decidim/orders_helper.rb +2 -1
  22. data/app/helpers/decidim/participatory_space_helpers.rb +1 -1
  23. data/app/jobs/decidim/hide_child_resources_job.rb +24 -0
  24. data/app/mailers/decidim/reported_mailer.rb +1 -0
  25. data/app/models/decidim/action_log.rb +1 -9
  26. data/app/models/decidim/report.rb +1 -1
  27. data/app/models/decidim/user.rb +0 -4
  28. data/app/models/decidim/user_base_entity.rb +4 -0
  29. data/app/packs/src/decidim/datepicker/datepicker_functions.js +3 -3
  30. data/app/packs/src/decidim/index.js +4 -2
  31. data/app/packs/src/decidim/map/provider/here.js +1 -1
  32. data/app/packs/stylesheets/decidim/_content_blocks.scss +4 -0
  33. data/app/packs/stylesheets/decidim/_hashtags.scss +5 -0
  34. data/app/packs/stylesheets/decidim/_header.scss +11 -5
  35. data/app/packs/stylesheets/decidim/application.scss +1 -0
  36. data/app/presenters/decidim/log/user_presenter.rb +1 -0
  37. data/app/presenters/decidim/user_presenter.rb +1 -1
  38. data/app/services/decidim/base_diff_renderer.rb +2 -0
  39. data/app/services/decidim/static_map_generator.rb +1 -1
  40. data/app/views/decidim/last_activities/index.html.erb +1 -1
  41. data/app/views/decidim/reported_mailer/hide.html.erb +17 -1
  42. data/app/views/decidim/reported_mailer/report.html.erb +1 -1
  43. data/app/views/decidim/searches/_count.html.erb +1 -1
  44. data/app/views/decidim/searches/_filters.html.erb +40 -38
  45. data/app/views/decidim/shared/_orders.html.erb +2 -2
  46. data/app/views/layouts/decidim/footer/_main_legal.html.erb +1 -1
  47. data/config/locales/ar.yml +41 -28
  48. data/config/locales/bg.yml +10 -24
  49. data/config/locales/bs-BA.yml +2 -0
  50. data/config/locales/ca-IT.yml +2111 -0
  51. data/config/locales/ca.yml +57 -29
  52. data/config/locales/cs.yml +55 -32
  53. data/config/locales/de.yml +48 -24
  54. data/config/locales/el.yml +10 -15
  55. data/config/locales/en.yml +44 -16
  56. data/config/locales/eo.yml +2 -0
  57. data/config/locales/es-MX.yml +56 -28
  58. data/config/locales/es-PY.yml +61 -33
  59. data/config/locales/es.yml +60 -32
  60. data/config/locales/eu.yml +112 -87
  61. data/config/locales/fi-plain.yml +44 -28
  62. data/config/locales/fi.yml +46 -30
  63. data/config/locales/fr-CA.yml +58 -25
  64. data/config/locales/fr.yml +57 -24
  65. data/config/locales/ga-IE.yml +4 -4
  66. data/config/locales/gl.yml +25 -15
  67. data/config/locales/hu.yml +9 -23
  68. data/config/locales/id-ID.yml +24 -16
  69. data/config/locales/is-IS.yml +10 -1
  70. data/config/locales/it.yml +35 -27
  71. data/config/locales/ja.yml +55 -25
  72. data/config/locales/lb.yml +24 -22
  73. data/config/locales/lt.yml +5 -17
  74. data/config/locales/lv.yml +18 -15
  75. data/config/locales/nl.yml +23 -18
  76. data/config/locales/no.yml +18 -16
  77. data/config/locales/pl.yml +7 -21
  78. data/config/locales/pt-BR.yml +11 -24
  79. data/config/locales/pt.yml +18 -16
  80. data/config/locales/ro-RO.yml +243 -86
  81. data/config/locales/ru.yml +23 -8
  82. data/config/locales/sk.yml +29 -18
  83. data/config/locales/sl.yml +4 -0
  84. data/config/locales/sr-CS.yml +2 -0
  85. data/config/locales/sv.yml +22 -26
  86. data/config/locales/tr-TR.yml +24 -23
  87. data/config/locales/uk.yml +12 -2
  88. data/config/locales/zh-CN.yml +18 -15
  89. data/config/locales/zh-TW.yml +8 -16
  90. data/lib/decidim/asset_router/storage.rb +7 -2
  91. data/lib/decidim/attributes/time_with_zone.rb +5 -1
  92. data/lib/decidim/content_parsers/blob_parser.rb +10 -8
  93. data/lib/decidim/content_parsers/user_parser.rb +1 -1
  94. data/lib/decidim/core/test/shared_examples/reports_examples.rb +48 -6
  95. data/lib/decidim/core/test/shared_examples/social_share_examples.rb +32 -0
  96. data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +26 -0
  97. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +26 -0
  98. data/lib/decidim/core/version.rb +1 -1
  99. data/lib/decidim/map/provider/dynamic_map/here.rb +1 -40
  100. data/lib/decidim/map/provider/static_map/here.rb +34 -0
  101. data/lib/decidim/moderation_tools.rb +16 -2
  102. data/lib/decidim/nicknamizable.rb +1 -1
  103. data/lib/decidim/reportable.rb +6 -2
  104. data/lib/decidim/translatable_attributes.rb +5 -1
  105. data/lib/tasks/upgrade/clean_hidden_resources.rake +33 -0
  106. data/lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake +23 -20
  107. metadata +15 -14
  108. data/app/cells/decidim/author/flag.erb +0 -6
  109. data/app/cells/decidim/author/flag_user.erb +0 -14
  110. data/app/cells/decidim/flag_modal/flag_user.erb +0 -34
  111. data/app/cells/decidim/flag_modal/show.erb +0 -52
  112. data/app/cells/decidim/flag_modal_cell.rb +0 -56
  113. data/app/cells/decidim/profile_sidebar/show.erb +0 -167
  114. data/app/cells/decidim/profile_sidebar_cell.rb +0 -68
  115. data/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js +0 -212
@@ -0,0 +1,5 @@
1
+ .hashtags {
2
+ > label {
3
+ @apply ml-4;
4
+ }
5
+ }
@@ -115,7 +115,7 @@ header {
115
115
  @apply fixed bottom-0 left-0 z-40 bg-white w-full px-4 py-3 flex justify-between text-secondary shadow-[0_-4px_6px_rgba(198,198,198,0.25)];
116
116
 
117
117
  &__trigger {
118
- @apply flex flex-col items-center text-secondary cursor-pointer pl-4 border-l border-gray-3;
118
+ @apply flex flex-col items-center text-secondary cursor-pointer md:pl-4 md:border-l border-gray-3;
119
119
 
120
120
  svg {
121
121
  @apply w-6 h-6 fill-current;
@@ -167,7 +167,7 @@ header {
167
167
  }
168
168
 
169
169
  &__item {
170
- @apply relative;
170
+ @apply flex relative;
171
171
  }
172
172
 
173
173
  &__search {
@@ -175,14 +175,16 @@ header {
175
175
  }
176
176
 
177
177
  &__login {
178
- @apply w-20 h-full flex flex-row items-center relative text-secondary gap-1;
178
+ @apply w-auto h-full flex flex-row items-center relative text-secondary gap-1 pl-2 pr-2;
179
179
 
180
180
  svg {
181
181
  @apply w-8 h-6 fill-current;
182
182
  }
183
183
 
184
184
  svg + span {
185
- @apply text-sm first-letter:uppercase pr-4 w-16;
185
+ @apply text-sm first-letter:uppercase w-auto;
186
+
187
+ flex-shrink: 0;
186
188
  }
187
189
  }
188
190
  }
@@ -432,8 +434,12 @@ header {
432
434
  @apply h4 md:h3;
433
435
  }
434
436
 
437
+ nav {
438
+ @apply w-full md:w-1/4;
439
+ }
440
+
435
441
  &__menu {
436
- @apply w-full md:w-1/4 bg-primary px-4 md:px-8 pt-0 pb-3 md:py-3 divide-y divide-gray-3 text-white;
442
+ @apply w-full bg-primary px-4 md:px-8 pt-0 pb-3 md:py-3 divide-y divide-gray-3 text-white;
437
443
 
438
444
  > * {
439
445
  @apply py-3 md:py-3.5;
@@ -58,6 +58,7 @@
58
58
  @import "stylesheets/decidim/_hero.scss";
59
59
  @import "stylesheets/decidim/_actions.scss";
60
60
  @import "stylesheets/decidim/_emoji.scss";
61
+ @import "stylesheets/decidim/_hashtags.scss";
61
62
  }
62
63
 
63
64
  @import "stylesheets/decidim/vendor/datepicker_light.scss";
@@ -46,6 +46,7 @@ module Decidim
46
46
  # Returns an HTML-safe String.
47
47
  def present_user
48
48
  return h.content_tag(:span, present_user_name, class: "logs__log__author") if user.blank?
49
+ return I18n.t("decidim.profile.deleted") if user.respond_to?(:deleted?) && user.deleted?
49
50
 
50
51
  h.link_to(
51
52
  present_user_name,
@@ -37,7 +37,7 @@ module Decidim
37
37
  return default_avatar_url if __getobj__.blocked?
38
38
  return default_avatar_url unless avatar.attached?
39
39
 
40
- avatar.path(variant:)
40
+ avatar.url(variant:)
41
41
  end
42
42
 
43
43
  def default_avatar_url
@@ -41,6 +41,8 @@ module Decidim
41
41
  end
42
42
 
43
43
  def parse_i18n_changeset(attribute, values, type, diff)
44
+ return diff unless values.last.is_a?(Hash)
45
+
44
46
  (values.last.keys - ["machine_translations"]).each do |locale, _value|
45
47
  first_value = values.first.try(:[], locale)
46
48
  last_value = values.last.try(:[], locale)
@@ -15,7 +15,7 @@ module Decidim
15
15
  def data
16
16
  return if @resource.blank? || map_utility.nil?
17
17
 
18
- Rails.cache.fetch(@resource.cache_key) do
18
+ Rails.cache.fetch(@resource.cache_key_with_version) do
19
19
  map_utility.image_data(
20
20
  latitude: @resource.latitude,
21
21
  longitude: @resource.longitude,
@@ -5,7 +5,7 @@
5
5
  <h1 class="title-decorator my-12"><%= t("last_activity", scope: "decidim.last_activities.index") %></h1>
6
6
 
7
7
  <div class="profile__activity pb-16">
8
- <%= cell "decidim/resource_types_filter", resource_types, form_path: last_activities_path, filter_param_key: :with_resource_type, filter: %>
8
+ <%= cell "decidim/resource_types_filter", resource_types, source: :last_activities, filter_param_key: :with_resource_type %>
9
9
  <div id="activities">
10
10
  <%= render partial: "activities" %>
11
11
  </div>
@@ -1,9 +1,25 @@
1
1
  <p class="email-greeting"><%= t(".hello", name: @user.name) %></p>
2
2
 
3
3
  <p class="email-instructions">
4
- <%= t(".report_html", url: reported_content_url ) %>
4
+ <%= t(".report_html", url: report_url ) %>
5
5
  </p>
6
6
 
7
+ <p><b><%= t(".participatory_space") %></b></p>
8
+ <p><%= link_to translated_attribute(@participatory_space.title), resource_locator(@participatory_space).url %></p>
9
+
10
+ <p><b><%= t(".reason") %></b></p>
11
+ <p><%= t(@report.reason, organization_name: organization_name(@participatory_space.organization), scope: "decidim.shared.flag_modal") %></p>
12
+
13
+ <% if @report.details.present? %>
14
+ <p><b><%= t(".details") %></b></p>
15
+ <blockquote>
16
+ <%= @report.details %>
17
+ </blockquote>
18
+ <% end %>
19
+
20
+ <p><b><%= t(".content") %></b></p>
21
+ <%= reported_content_cell %>
22
+
7
23
  <p class="email-button email-button__cta">
8
24
  <%= link_to t(".manage_moderations"), manage_moderations_url %>
9
25
  </p>
@@ -1,7 +1,7 @@
1
1
  <p class="email-greeting"><%= t(".hello", name: @user.name) %></p>
2
2
 
3
3
  <p class="email-instructions">
4
- <%= t(".report_html", url: reported_content_url) %>
4
+ <%= t(".report_html", url: report_url) %>
5
5
  </p>
6
6
 
7
7
  <br>
@@ -15,6 +15,6 @@
15
15
  <% end %>
16
16
  </div>
17
17
 
18
- <h1 class="h3 decorator mb-10 md:my-10">
18
+ <h1 id="search-results-title" class="h3 decorator mb-10 md:my-10">
19
19
  <%= t("decidim.search.results_found_for_term", count: @results_count, term:) %>
20
20
  </h1>
@@ -1,44 +1,46 @@
1
- <div class="filter-container search__filter">
2
- <button id="dropdown-trigger-search" data-component="dropdown" data-target="dropdown-menu-search" data-auto-close="true">
3
- <%= content_tag :span, t("decidim.searches.filters_small_view.filter_by"), class: "#{"is-active" if params.dig(:filter, :with_resource_type) == nil}" %>
4
- <% @blocks.each do |elements| %>
5
- <% elements.each do |type, results| %>
6
- <%= content_tag :span, class: "#{"is-active" if params.dig(:filter, :with_resource_type) == type}" do %>
7
- <span><%= searchable_resource_human_name(type) %></span>
1
+ <nav role="navigation" aria-labelledby="search-results-title">
2
+ <div class="filter-container search__filter">
3
+ <button id="dropdown-trigger-search" data-component="dropdown" data-target="dropdown-menu-search" data-auto-close="true">
4
+ <%= content_tag :span, t("decidim.searches.filters_small_view.filter_by"), class: "#{"is-active" if params.dig(:filter, :with_resource_type) == nil}" %>
5
+ <% @blocks.each do |elements| %>
6
+ <% elements.each do |type, results| %>
7
+ <%= content_tag :span, class: "#{"is-active" if params.dig(:filter, :with_resource_type) == type}" do %>
8
+ <span><%= searchable_resource_human_name(type) %></span>
9
+ <% end %>
8
10
  <% end %>
9
11
  <% end %>
10
- <% end %>
11
- <%= icon "arrow-down-s-line", class: "w-8 h-8 flex-none text-secondary fill-current" %>
12
- <%= icon "arrow-up-s-line", class: "w-8 h-8 flex-none text-secondary fill-current" %>
13
- </button>
14
- <div id="dropdown-menu-search" aria-hidden="true">
15
- <div>
16
- <%= link_to main_search_path, class: "filter#{" is-active" if params.dig(:filter, :with_resource_type) == nil}" do %>
17
- <%= resource_type_icon("all") %>
18
- <span><%= t("all", scope: "decidim.searches.filters.state") %></span>
19
- <span class="label ml-auto"><%= @results_count %></span>
20
- <% end %>
21
- </div>
22
- <% @blocks.each do |elements| %>
12
+ <%= icon "arrow-down-s-line", class: "w-8 h-8 flex-none text-secondary fill-current" %>
13
+ <%= icon "arrow-up-s-line", class: "w-8 h-8 flex-none text-secondary fill-current" %>
14
+ </button>
15
+ <div id="dropdown-menu-search" aria-hidden="true">
23
16
  <div>
24
- <% elements.each do |type, results| %>
25
- <div>
26
- <% if results[:count].positive? %>
27
- <%= link_to search_path_by_resource_type(type), class: "filter#{" is-active" if params.dig(:filter, :with_resource_type) == type}" do %>
28
- <%= resource_type_icon(type) %>
29
- <span><%= searchable_resource_human_name(type) %></span>
30
- <span class="label ml-auto"><%= results[:count] %></span>
31
- <% end %>
32
- <% else %>
33
- <%= content_tag :div, class: "filter#{" is-empty" if results[:count].zero?}" do %>
34
- <%= resource_type_icon(type) %>
35
- <span><%= searchable_resource_human_name(type) %></span>
36
- <span class="label ml-auto"><%= results[:count] %></span>
37
- <% end %>
38
- <% end %>
39
- </div>
17
+ <%= link_to main_search_path, class: "filter#{" is-active" if params.dig(:filter, :with_resource_type) == nil}" do %>
18
+ <%= resource_type_icon("all") %>
19
+ <span><%= t("all", scope: "decidim.searches.filters.state") %></span>
20
+ <span class="label ml-auto"><%= @results_count %></span>
40
21
  <% end %>
41
22
  </div>
42
- <% end %>
23
+ <% @blocks.each do |elements| %>
24
+ <div>
25
+ <% elements.each do |type, results| %>
26
+ <div>
27
+ <% if results[:count].positive? %>
28
+ <%= link_to search_path_by_resource_type(type), class: "filter#{" is-active" if params.dig(:filter, :with_resource_type) == type}" do %>
29
+ <%= resource_type_icon(type) %>
30
+ <span><%= searchable_resource_human_name(type) %></span>
31
+ <span class="label ml-auto"><%= results[:count] %></span>
32
+ <% end %>
33
+ <% else %>
34
+ <%= content_tag :div, class: "filter#{" is-empty" if results[:count].zero?}" do %>
35
+ <%= resource_type_icon(type) %>
36
+ <span><%= searchable_resource_human_name(type) %></span>
37
+ <span class="label ml-auto"><%= results[:count] %></span>
38
+ <% end %>
39
+ <% end %>
40
+ </div>
41
+ <% end %>
42
+ </div>
43
+ <% end %>
44
+ </div>
43
45
  </div>
44
- </div>
46
+ </nav>
@@ -1,9 +1,9 @@
1
- <button class="order-by__button" id="dropdown-trigger-order" data-component="dropdown" data-target="dropdown-menu-order" data-open-md="true">
1
+ <button class="order-by__button <%= b_css_class if defined?(b_css_class) %>" id="dropdown-trigger-order" data-component="dropdown" data-target="dropdown-menu-order" data-open-md="true">
2
2
  <%= icon "arrow-down-s-line" %>
3
3
  <%= icon "arrow-up-s-line" %>
4
4
  <span><%= t("#{i18n_scope}.label") %></span>
5
5
  </button>
6
- <div id="dropdown-menu-order" class="order-by">
6
+ <div id="dropdown-menu-order" class="order-by <%= css_class if defined?(css_class) %>">
7
7
  <% orders.each do |order_name| %>
8
8
  <%= order_link order_name,
9
9
  i18n_scope:,
@@ -3,6 +3,6 @@
3
3
  <%= link_to t("layouts.decidim.footer.terms_of_service"), decidim.page_path("terms-of-service") %>
4
4
  </li>
5
5
  <li>
6
- <a href="#" data-dialog-open="dc-modal"><%= t("layouts.decidim.footer.data_consent_settings") %></a>
6
+ <a href="#" role="button" data-dialog-open="dc-modal"><%= t("layouts.decidim.footer.data_consent_settings") %></a>
7
7
  </li>
8
8
  </ul>
@@ -4,10 +4,18 @@ ar:
4
4
  attributes:
5
5
  account:
6
6
  delete_reason: سبب حذف حسابك
7
+ attachment:
8
+ documents: المستندات
9
+ photos: الصور
7
10
  common:
8
11
  created_at: تم إنشاؤها في
12
+ content_block_attachment:
13
+ background_image: صورة الخلفية
14
+ main_image: الصورة الرئيسية
9
15
  conversation:
10
16
  body: المحتوى
17
+ editor_image:
18
+ file: ملف
11
19
  group:
12
20
  about: عن
13
21
  avatar: الصورة الرمزية
@@ -16,12 +24,15 @@ ar:
16
24
  name: الإسم
17
25
  nickname: الاسم المستعار
18
26
  phone: الهاتف
27
+ import:
28
+ file: ملف
19
29
  message:
20
30
  body: المحتوى
21
31
  report:
22
32
  details: تعليقات إضافية
23
33
  user:
24
34
  about: عن
35
+ avatar: الصورة الرمزية
25
36
  email: بريدك الإلكتروني
26
37
  locale: اللغة
27
38
  name: اسمك
@@ -30,6 +41,8 @@ ar:
30
41
  password_confirmation: أكد كلمتك السرية
31
42
  personal_url: العنوان الشبكي الشخصي
32
43
  remove_avatar: إزالة الصورة الرمزية
44
+ user_group:
45
+ avatar: الصورة الرمزية
33
46
  models:
34
47
  decidim/attachment_created_event: المرفق
35
48
  decidim/component_published_event: العنصر النشط
@@ -483,7 +496,7 @@ ar:
483
496
  metrics:
484
497
  name: مقاييس المنظمة
485
498
  participatory_space_metrics:
486
- name: المقاييس
499
+ name: المشاركة في الأرقام
487
500
  participatory_space_stats:
488
501
  name: الإحصائيات
489
502
  social_networks_metadata:
@@ -632,6 +645,11 @@ ar:
632
645
  email_outro: لقد تلقيت هذا الإشعار لأنك تتابع %{amendable_title}. يمكنك إيقاف تلقي الإخطارات باتباع الرابط السابق.
633
646
  email_subject: تم رفض التعديل لـ %{amendable_title} من %{emendation_author_nickname}
634
647
  notification_title: تم رفض التعديل <a href="%{emendation_path}"></a> تم إنشاؤه بواسطة <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> لـ <a href="%{amendable_path}">%{amendable_title}</a>.
648
+ emendation_promoted:
649
+ follower:
650
+ email_intro: 'تم نشر تعديل لـ %{amendable_title}. يمكنك رؤيته من هذه الصفحة:'
651
+ email_outro: لقد تلقيت هذا الإشعار لأنك مؤلف %{amendable_title}.
652
+ email_subject: تم نشر تعديل من قبل %{emendation_author_nickname} كـ %{amendable_type} جديد
635
653
  attachments:
636
654
  attachment_created:
637
655
  email_intro: 'تمت إضافة مستند جديد إلى %{resource_title}. يمكنك أن ترى ذلك من هذه الصفحة:'
@@ -936,12 +954,12 @@ ar:
936
954
  conversation_mailer:
937
955
  comanagers_new_conversation:
938
956
  admin_in_group: تتلقى هذا لأنك مدير في %{group}.
939
- greeting: مرحباً، %{recipient}!
957
+ greeting: مرحبًا ، %{recipient}!
940
958
  intro: "بدأ %{manager} محادثة جديدة باسم %{group}. انقر هنا لرؤيتها:"
941
959
  subject: "بدأ %{manager} محادثة جديدة كـ %{group}"
942
960
  comanagers_new_message:
943
961
  admin_in_group: تتلقى هذا لأنك مدير في %{group}.
944
- greeting: مرحباً، %{recipient}!
962
+ greeting: مرحبًا ، %{recipient}!
945
963
  intro: "قام %{manager} بنشر رسائل جديدة في المحادثة ذات اسم %{group}. انقر هنا لرؤيتها:"
946
964
  subject: "%{manager} أرسل رسائل جديدة كـ %{group}"
947
965
  new_conversation:
@@ -950,12 +968,12 @@ ar:
950
968
  subject: "%{sender} بدأ محادثة معك"
951
969
  new_group_conversation:
952
970
  admin_in_group: تتلقى هذا لأنك مدير في %{group}.
953
- greeting: مرحباً، %{recipient}!
971
+ greeting: مرحبًا ، %{recipient}!
954
972
  intro: "بدأ %{sender} محادثة جديدة مع المجموعة %{group}. انقر هنا لرؤيتها:"
955
973
  subject: "بدأ %{sender} محادثة جديدة مع %{group}"
956
974
  new_group_message:
957
975
  admin_in_group: تتلقى هذا لأنك مدير في %{group}.
958
- greeting: مرحباً، %{recipient}!
976
+ greeting: مرحبًا ، %{recipient}!
959
977
  intro: "قام %{sender} بنشر رسائل جديدة في المحادثة مع المجوعة %{group}. انقر هنا لرؤيتها:"
960
978
  subject: "%{group} لديها رسائل جديدة من %{sender}"
961
979
  new_message:
@@ -989,6 +1007,8 @@ ar:
989
1007
  placeholder: رسالتك...
990
1008
  send: إرسال
991
1009
  metrics:
1010
+ blocked_users:
1011
+ description: عدد المشاركين المحظورين
992
1012
  download:
993
1013
  csv: تحميل البيانات (CSV)
994
1014
  followers:
@@ -998,11 +1018,15 @@ ar:
998
1018
  participants:
999
1019
  description: عدد المشاركين النشطين في المنظمة
1000
1020
  object: المشاركين
1001
- title: المشاركين
1021
+ title: المشاركون
1022
+ reported_users:
1023
+ description: عدد المشاركين المبلّغ عنهم
1024
+ user_reports:
1025
+ description: عدد التقارير التي قدمها المشاركون
1002
1026
  users:
1003
1027
  description: عدد المشاركين في المنظمة
1004
1028
  object: المشاركين
1005
- title: المشاركين
1029
+ title: المشاركون
1006
1030
  newsletter_mailer:
1007
1031
  newsletter:
1008
1032
  no_reply_notice: تم إرسال هذا البريد الإلكتروني من عنوان بريد إلكتروني للإشعارات لا يستقبل لا بريد إلكتروني وارد. يرجى عدم الرد على هذه الرسالة.
@@ -1053,10 +1077,12 @@ ar:
1053
1077
  notifications_digest_mailer:
1054
1078
  header:
1055
1079
  daily: ملخص التنبيهات اليومية
1080
+ real_time: مزامنة آنيّة
1056
1081
  weekly: ملخص التنبيهات الأسبوعية
1057
1082
  hello: مرحبا %{name}،
1058
1083
  intro:
1059
1084
  daily: 'هذه هي إخطارات اليوم الأخير بناءً على النشاط الذي تتابعه:'
1085
+ real_time: 'هذا تنبيه عن النشاط الذي تتبعّه:'
1060
1086
  weekly: 'هذه هي إخطارات الأسبوع الأخير بناءً على النشاط الذي تتابعه:'
1061
1087
  outro: لقد تلقيت هذه الإشعارات لأنك تتبع هذا المحتوى أو مؤلفيه. يمكنك إلغاء متابعتها من صفحات كل منهم.
1062
1088
  see_more: عرض المزيد من الإشعارات
@@ -1135,35 +1161,25 @@ ar:
1135
1161
  conversations: محادثات
1136
1162
  followers: متابعون
1137
1163
  following: يتبع
1164
+ group_admins: إدارة المشرفين
1165
+ group_members: إدارة الأعضاء
1138
1166
  groups: المجموعات
1139
1167
  members: أفراد
1140
1168
  officialized: مشارك رسمي
1141
1169
  send_private_message: ارسال رسالة خاصة
1142
- sidebar:
1143
- badges:
1144
- info: يتم الحصول على الشارات من خلال أداء نشاط معين في النظام الأساسي.
1145
- title: شارات
1146
1170
  user:
1147
1171
  actions:
1148
1172
  create_user_group: إنشاء مجموعة
1149
1173
  edit_profile: تعديل الملف الشخصي
1150
- edit_user_group: تعديل الملف الشخصي للمجموعة
1174
+ edit_user_group: تحرير ملف تعريف المجموعة
1151
1175
  invite_user: دعوة مشارك
1152
- join_user_group: طلب الانضمام للمجموعة
1153
- leave_user_group: مغادرة الفريق
1176
+ join_user_group: طلب الانضمام إلى المجموعة
1177
+ leave_user_group: غادر المجموعة
1154
1178
  manage_user_group: إدارة الفريق
1155
- manage_user_group_admins: إدارة المدراء
1156
- manage_user_group_users: إدارة الاعضاء
1179
+ manage_user_group_admins: إدارة المشرفين
1180
+ manage_user_group_users: إدارة الأعضاء
1157
1181
  message: الرسالة
1158
- create_user_group: إنشاء مجموعة
1159
- edit_profile: تعديل الملف الشخصي
1160
- edit_user_group: تحرير ملف تعريف المجموعة
1161
- invite_user: دعوة مشارك
1162
- join_user_group: طلب الانضمام إلى المجموعة
1163
- leave_user_group: غادر المجموعة
1164
- manage_user_group_admins: إدارة المشرفين
1165
- manage_user_group_users: إدارة الأعضاء
1166
- resend_email_confirmation_instructions: إعادة إرسال تعليمات تأكيد البريد الإلكتروني
1182
+ resend_email_confirmation_instructions: إعادة إرسال تعليمات تأكيد البريد الإلكتروني
1167
1183
  reported_mailer:
1168
1184
  hide:
1169
1185
  hello: مرحبا %{name}،
@@ -1250,12 +1266,9 @@ ar:
1250
1266
  title: الإبلاغ عن مشكلة
1251
1267
  flag_user_modal:
1252
1268
  already_reported: تم الإبلاغ عن هذا المحتوى وسيتم مراجعته من قبل مدير.
1253
- close: إغلاق
1254
- description: ما هو الأمر الغير مناسب بخصوص هذا المستخدم؟
1255
1269
  offensive: يتضمن العنصرية أو التحيز الجنسي أو الشتائم أو الهجمات الشخصية أو التهديد بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.
1256
1270
  report: إبلاغ
1257
1271
  spam: يحتوي على طعم النقر(clickbaiting) أو إعلان، أو احتيال، أو روبوتات سكريبتة.
1258
- title: الإبلاغ عن مستخدم مخل
1259
1272
  floating_help:
1260
1273
  help: المساعدة
1261
1274
  login_modal:
@@ -33,6 +33,8 @@ bg:
33
33
  personal_url: Персонален URL
34
34
  remove_avatar: Премахни аватара
35
35
  tos_agreement: Споразумение за условия на услугата
36
+ user_group:
37
+ avatar: Аватар
36
38
  models:
37
39
  decidim/attachment_created_event: Прикачени файлове
38
40
  decidim/component_published_event: Активен компонент
@@ -91,7 +93,7 @@ bg:
91
93
  decidim_with_month_name_short: "%d %b"
92
94
  help:
93
95
  date_format: 'Формат: дд/мм/гггг'
94
- order: д-м-г
96
+ order: d-m-y
95
97
  separator: "/"
96
98
  datetime:
97
99
  distance_in_words:
@@ -546,7 +548,7 @@ bg:
546
548
  metrics:
547
549
  name: Показатели за организацията
548
550
  participatory_space_metrics:
549
- name: Метрики
551
+ name: Индикатори
550
552
  participatory_space_stats:
551
553
  name: Статистики
552
554
  social_networks_metadata:
@@ -1359,41 +1361,28 @@ bg:
1359
1361
  conversations: Разговори
1360
1362
  followers: Последователи
1361
1363
  following: Следванния
1362
- group_admins: Управление на администраторите
1363
- group_members: Управление на членовете
1364
+ group_admins: Управлявай администраторите
1365
+ group_members: Управллявай членовете
1364
1366
  groups: Групи
1365
1367
  members: Членове
1366
1368
  officialized: Официален участник
1367
1369
  send_private_message: Изпрати лично съобщение
1368
- sidebar:
1369
- badges:
1370
- info: Значките се заслужват чрез извършване на конкретна дейност в платформата.
1371
- title: Значки
1372
1370
  user:
1373
1371
  actions:
1374
- create_user_group: Създаване на група
1372
+ create_user_group: Създай група
1375
1373
  disabled_message: Съобщение
1376
1374
  edit_profile: Редактиране на профил
1377
- edit_user_group: Редактиране на профила на групата
1375
+ edit_user_group: Редактиране профил на група
1378
1376
  invite_user: Покани участник
1379
1377
  join_user_group: Заявка за присъединяване към група
1380
1378
  leave_user_group: Напусни на групата
1381
1379
  manage_user_group: Управление на групата
1382
- manage_user_group_admins: Управление на администраторите
1383
- manage_user_group_users: Управление на членовете
1380
+ manage_user_group_admins: Управлявай администраторите
1381
+ manage_user_group_users: Управллявай членовете
1384
1382
  message: Съобщение
1385
1383
  resend_email_confirmation_instructions: Изпрати отново инструкции за потвърждение
1386
1384
  confirmation_instructions_sent: Изпратени са инструкции за потвърждение по имейл.
1387
- create_user_group: Създай група
1388
- edit_profile: Редактиране на профил
1389
- edit_user_group: Редактиране профил на група
1390
1385
  fill_in_email_to_confirm_it: Моля, попълнете електронната поща на групата си, за да я потвърдите.
1391
- invite_user: Покани участник
1392
- join_user_group: Заявка за присъединяване към група
1393
- leave_user_group: Напусни на групата
1394
- manage_user_group_admins: Управлявай администраторите
1395
- manage_user_group_users: Управлявай членовете
1396
- resend_email_confirmation_instructions: Изпрати отново инструкции за потвърждение
1397
1386
  reported_mailer:
1398
1387
  hide:
1399
1388
  hello: Здравейте %{name},
@@ -1485,14 +1474,11 @@ bg:
1485
1474
  flag_user_modal:
1486
1475
  already_reported: Това съдържание вече е докладвано и ще бъде прегледано от администратор.
1487
1476
  block: Блокирай този участник
1488
- close: Затвори
1489
- description: Какво е неприемливо при този потребител?
1490
1477
  does_not_belong: Съдържа незаконна дейност, заплахи за самоубийство, лична информация или нещо друго, което смятате, че не принадлежи на %{organization_name}.
1491
1478
  hide: Скрийте цялото им съдържание
1492
1479
  offensive: Съдържа расизъм, сексизъм, злословия, лични атаки, заплахи за смърт, заявки за самоубийство или всякаква форма на омраза.
1493
1480
  report: Доклад
1494
1481
  spam: Съдържа примамка за кликване, реклама, измами или скриптове.
1495
- title: Докладвайте за неподходящ потребител
1496
1482
  floating_help:
1497
1483
  help: Помощ
1498
1484
  follow_button:
@@ -25,6 +25,8 @@ bs:
25
25
  hero_settings_form:
26
26
  background_image: Pozadinska slika
27
27
  welcome_text: Tekst dobrodošlice
28
+ participatory_space_metrics:
29
+ name: Metrika
28
30
  stats:
29
31
  name: Statistika organizacije
30
32
  endorsements: