decidim-admin 0.28.4 → 0.28.6
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.
- checksums.yaml +4 -4
- data/app/commands/decidim/admin/block_user.rb +1 -0
- data/app/controllers/decidim/admin/block_user_controller.rb +1 -1
- data/app/controllers/decidim/admin/conflicts_controller.rb +1 -1
- data/app/controllers/decidim/admin/impersonations_controller.rb +1 -0
- data/app/controllers/decidim/admin/newsletters_controller.rb +2 -1
- data/app/controllers/decidim/admin/organization_controller.rb +1 -1
- data/app/forms/decidim/admin/help_section_form.rb +1 -1
- data/app/forms/decidim/admin/impersonate_user_form.rb +5 -0
- data/app/forms/decidim/admin/organization_appearance_form.rb +2 -2
- data/app/forms/decidim/admin/organization_form.rb +2 -2
- data/app/forms/decidim/admin/static_page_form.rb +1 -1
- data/app/forms/decidim/admin/transfer_user_form.rb +15 -0
- data/app/packs/src/decidim/admin/newsletters.js +18 -9
- data/app/packs/stylesheets/decidim/admin/_moderations.scss +8 -0
- data/app/permissions/decidim/admin/permissions.rb +12 -0
- data/app/queries/decidim/admin/newsletter_recipients.rb +9 -5
- data/app/views/decidim/admin/conflicts/edit.html.erb +21 -11
- data/app/views/decidim/admin/moderated_users/index.html.erb +2 -2
- data/app/views/decidim/admin/newsletter_templates/index.html.erb +0 -1
- data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +1 -1
- data/config/locales/ar.yml +62 -7
- data/config/locales/bg.yml +2 -2
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +529 -0
- data/config/locales/ca-IT.yml +1153 -0
- data/config/locales/ca.yml +14 -7
- data/config/locales/cs.yml +8 -1
- data/config/locales/de.yml +16 -9
- data/config/locales/el.yml +4 -3
- data/config/locales/en.yml +8 -1
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +12 -5
- data/config/locales/es-PY.yml +12 -5
- data/config/locales/es.yml +10 -3
- data/config/locales/eu.yml +168 -149
- data/config/locales/fi-plain.yml +14 -7
- data/config/locales/fi.yml +31 -24
- data/config/locales/fr-CA.yml +11 -4
- data/config/locales/fr.yml +10 -3
- data/config/locales/ga-IE.yml +1 -6
- data/config/locales/gl.yml +6 -4
- data/config/locales/he-IL.yml +6 -0
- data/config/locales/hu.yml +7 -7
- data/config/locales/id-ID.yml +9 -5
- data/config/locales/is-IS.yml +13 -6
- data/config/locales/it.yml +173 -7
- data/config/locales/ja.yml +13 -6
- data/config/locales/kaa.yml +5 -3
- data/config/locales/ko.yml +11 -4
- data/config/locales/lb.yml +10 -8
- data/config/locales/lt.yml +2 -1
- data/config/locales/lv.yml +6 -4
- data/config/locales/nl.yml +7 -5
- data/config/locales/no.yml +6 -4
- data/config/locales/pl.yml +4 -4
- data/config/locales/pt-BR.yml +2 -3
- data/config/locales/pt.yml +11 -5
- data/config/locales/ro-RO.yml +7 -6
- data/config/locales/ru.yml +8 -8
- data/config/locales/sk.yml +7 -7
- data/config/locales/sl.yml +7 -2
- data/config/locales/sq-AL.yml +13 -6
- data/config/locales/sr-CS.yml +6 -5
- data/config/locales/sv.yml +11 -4
- data/config/locales/th-TH.yml +14 -0
- data/config/locales/tr-TR.yml +7 -9
- data/config/locales/uk.yml +5 -7
- data/config/locales/zh-CN.yml +3 -10
- data/config/locales/zh-TW.yml +2 -1
- data/config/routes.rb +1 -1
- data/decidim-admin.gemspec +1 -1
- data/lib/decidim/admin/engine.rb +1 -0
- data/lib/decidim/admin/test/manage_moderations_examples.rb +1 -1
- data/lib/decidim/admin/version.rb +1 -1
- metadata +12 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 449f277975304281cdd819ad978867b0ca9f907a397a2f01f986972bf2c78b52
|
4
|
+
data.tar.gz: 8206373cc34bb54043c9c276409ff6d348904e7dc4bdf66ddcdc2cc7b28b9218
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e83a5178b8af12aa4e5022a8cf24483c255ac1045e3106ae6d121a1bfee92331bd140df376d082710bcfee030cf2eb7312d2e3862350e319893b51eeed9f79df
|
7
|
+
data.tar.gz: c7810442d4c40f4289d03be5d25b7735f334cc735717a2f4c4eb3e6607f81ba0b5c2f0e5e14baad64cf628f813acae2a1c08222b79a7789642438ddc94062eee
|
@@ -22,7 +22,7 @@ module Decidim
|
|
22
22
|
BlockUser.call(@form) do
|
23
23
|
on(:ok) do
|
24
24
|
flash[:notice] = I18n.t("officializations.block.success", scope: "decidim.admin")
|
25
|
-
redirect_to moderated_users_path
|
25
|
+
redirect_to moderated_users_path, notice:
|
26
26
|
end
|
27
27
|
|
28
28
|
on(:invalid) do
|
@@ -108,7 +108,8 @@ module Decidim
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def recipients_count
|
111
|
-
data = params.permit(
|
111
|
+
data = params.permit(newsletter: {}).to_h[:newsletter]
|
112
|
+
|
112
113
|
@form = form(SelectiveNewsletterForm).from_params(data)
|
113
114
|
render plain: recipients_count_query
|
114
115
|
end
|
@@ -48,7 +48,7 @@ module Decidim
|
|
48
48
|
if (term = params[:term].to_s).present?
|
49
49
|
query = if term.start_with?("@")
|
50
50
|
nickname = term.delete("@")
|
51
|
-
relation.where("nickname
|
51
|
+
relation.where("nickname LIKE ?", "#{nickname}%")
|
52
52
|
.order(Arel.sql(ActiveRecord::Base.sanitize_sql_array("similarity(nickname, '#{nickname}') DESC")))
|
53
53
|
else
|
54
54
|
relation.where("name ILIKE ?", "%#{term}%").or(
|
@@ -9,7 +9,7 @@ module Decidim
|
|
9
9
|
include TranslationsHelper
|
10
10
|
|
11
11
|
attribute :id, String
|
12
|
-
translatable_attribute :content,
|
12
|
+
translatable_attribute :content, Decidim::Attributes::RichText
|
13
13
|
|
14
14
|
def name
|
15
15
|
multi_translation("activerecord.models.#{manifest.model_class_name.underscore}.other")
|
@@ -14,6 +14,7 @@ module Decidim
|
|
14
14
|
attribute :handler_name, String
|
15
15
|
|
16
16
|
validates :user, presence: true
|
17
|
+
validates :name, presence: true, unless: :persisted_user?
|
17
18
|
validates :reason, presence: true, unless: :managed_user?
|
18
19
|
|
19
20
|
private
|
@@ -21,6 +22,10 @@ module Decidim
|
|
21
22
|
def managed_user?
|
22
23
|
user && user.managed?
|
23
24
|
end
|
25
|
+
|
26
|
+
def persisted_user?
|
27
|
+
user&.persisted?
|
28
|
+
end
|
24
29
|
end
|
25
30
|
end
|
26
31
|
end
|
@@ -35,9 +35,9 @@ module Decidim
|
|
35
35
|
attribute :alert_color, String
|
36
36
|
|
37
37
|
translatable_attribute :cta_button_text, String
|
38
|
-
translatable_attribute :description,
|
38
|
+
translatable_attribute :description, Decidim::Attributes::RichText
|
39
39
|
translatable_attribute :highlighted_content_banner_title, String
|
40
|
-
translatable_attribute :highlighted_content_banner_short_description,
|
40
|
+
translatable_attribute :highlighted_content_banner_short_description, Decidim::Attributes::RichText
|
41
41
|
translatable_attribute :highlighted_content_banner_action_title, String
|
42
42
|
translatable_attribute :highlighted_content_banner_action_subtitle, String
|
43
43
|
translatable_attribute :omnipresent_banner_title, String
|
@@ -31,9 +31,9 @@ module Decidim
|
|
31
31
|
attribute :customize_welcome_notification, Boolean
|
32
32
|
|
33
33
|
translatable_attribute :welcome_notification_subject, String
|
34
|
-
translatable_attribute :welcome_notification_body,
|
34
|
+
translatable_attribute :welcome_notification_body, Decidim::Attributes::RichText
|
35
35
|
|
36
|
-
translatable_attribute :admin_terms_of_service_body,
|
36
|
+
translatable_attribute :admin_terms_of_service_body, Decidim::Attributes::RichText
|
37
37
|
|
38
38
|
validates :welcome_notification_subject, :welcome_notification_body, translatable_presence: true, if: proc { |form| form.customize_welcome_notification }
|
39
39
|
|
@@ -9,7 +9,7 @@ module Decidim
|
|
9
9
|
attribute :slug, String
|
10
10
|
validates :title, translatable_presence: true
|
11
11
|
translatable_attribute :title, String
|
12
|
-
translatable_attribute :content,
|
12
|
+
translatable_attribute :content, Decidim::Attributes::RichText
|
13
13
|
attribute :changed_notably, Boolean
|
14
14
|
attribute :show_in_footer, Boolean
|
15
15
|
attribute :allow_public_access, Boolean
|
@@ -14,6 +14,21 @@ module Decidim
|
|
14
14
|
|
15
15
|
validates :current_user, presence: true
|
16
16
|
validates :conflict, presence: true
|
17
|
+
validates :email, presence: true
|
18
|
+
validate :unique_email
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def unique_email
|
23
|
+
return if conflict.blank?
|
24
|
+
return true if Decidim::UserBaseEntity.where(
|
25
|
+
organization: context.current_organization,
|
26
|
+
email:
|
27
|
+
).where.not(id: [conflict.current_user.id, conflict.managed_user_id]).empty?
|
28
|
+
|
29
|
+
errors.add :email, :taken
|
30
|
+
false
|
31
|
+
end
|
17
32
|
end
|
18
33
|
end
|
19
34
|
end
|
@@ -54,9 +54,9 @@ $(() => {
|
|
54
54
|
$participatorySpacesForSelect.hide();
|
55
55
|
}
|
56
56
|
|
57
|
-
$(".form .spaces-block-tag").each(function(_i, blockTag) {
|
57
|
+
$(".form .spaces-block-tag").each(function (_i, blockTag) {
|
58
58
|
const selectTag = $(blockTag).find(".chosen-select")
|
59
|
-
selectTag.change(function() {
|
59
|
+
selectTag.change(function () {
|
60
60
|
let optionSelected = selectTag.find("option:selected").val()
|
61
61
|
if (optionSelected === "all") {
|
62
62
|
selectTag.find("option").not(":first").prop("selected", true);
|
@@ -67,16 +67,25 @@ $(() => {
|
|
67
67
|
});
|
68
68
|
})
|
69
69
|
|
70
|
-
$form.on("change", function() {
|
71
|
-
let
|
72
|
-
let
|
70
|
+
$form.on("change", function(event) {
|
71
|
+
let formData = new FormData(event.target.closest("form"));
|
72
|
+
let url = $form.data("recipients-count-newsletter-path");
|
73
73
|
const $modal = $("#recipients_count_spinner");
|
74
74
|
$modal.removeClass("hide");
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
|
76
|
+
const xhr = new XMLHttpRequest();
|
77
|
+
xhr.open("POST", url, true);
|
78
|
+
xhr.onload = function() {
|
79
|
+
if (xhr.status === 200) {
|
80
|
+
$("#recipients_count").text(xhr.responseText);
|
81
|
+
}
|
78
82
|
$modal.addClass("hide");
|
79
|
-
}
|
83
|
+
};
|
84
|
+
xhr.onerror = function() {
|
85
|
+
$modal.addClass("hide");
|
86
|
+
};
|
87
|
+
// Send the form data
|
88
|
+
xhr.send(formData);
|
80
89
|
})
|
81
90
|
}
|
82
91
|
});
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Admin
|
5
5
|
class Permissions < Decidim::DefaultPermissions
|
6
|
+
include Decidim::UserRoleChecker
|
7
|
+
|
6
8
|
def permissions
|
7
9
|
return permission_action if managed_user_action?
|
8
10
|
|
@@ -31,6 +33,8 @@ module Decidim
|
|
31
33
|
|
32
34
|
apply_global_moderations_permission_for_admin!
|
33
35
|
|
36
|
+
can_use_image_editor?
|
37
|
+
|
34
38
|
if user.admin? && admin_terms_accepted?
|
35
39
|
allow! if read_admin_log_action?
|
36
40
|
allow! if read_user_statistics_action?
|
@@ -253,6 +257,14 @@ module Decidim
|
|
253
257
|
def available_authorization_handlers?
|
254
258
|
user.organization.available_authorization_handlers.any?
|
255
259
|
end
|
260
|
+
|
261
|
+
def component
|
262
|
+
context.fetch(:component, nil)
|
263
|
+
end
|
264
|
+
|
265
|
+
def can_use_image_editor?
|
266
|
+
allow! if permission_action.subject == :editor_image && user_has_any_role?(user, nil, broad_check: true)
|
267
|
+
end
|
256
268
|
end
|
257
269
|
end
|
258
270
|
end
|
@@ -20,11 +20,7 @@ module Decidim
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def query
|
23
|
-
recipients =
|
24
|
-
.where.not(newsletter_notifications_at: nil)
|
25
|
-
.where.not(email: nil)
|
26
|
-
.where.not(confirmed_at: nil)
|
27
|
-
.not_deleted
|
23
|
+
recipients = recipients_base_query
|
28
24
|
|
29
25
|
recipients = recipients.interested_in_scopes(@form.scope_ids) if @form.scope_ids.present?
|
30
26
|
|
@@ -41,6 +37,14 @@ module Decidim
|
|
41
37
|
|
42
38
|
private
|
43
39
|
|
40
|
+
def recipients_base_query
|
41
|
+
Decidim::User.available
|
42
|
+
.where(organization: @form.current_organization)
|
43
|
+
.where.not(newsletter_notifications_at: nil)
|
44
|
+
.where.not(email: nil)
|
45
|
+
.confirmed
|
46
|
+
end
|
47
|
+
|
44
48
|
# Return the ids of the ParticipatorySpace selected
|
45
49
|
# in form, grouped by type
|
46
50
|
# This will be used to take followers and
|
@@ -27,18 +27,28 @@
|
|
27
27
|
</div>
|
28
28
|
</div>
|
29
29
|
|
30
|
-
|
31
|
-
<div class="
|
32
|
-
|
33
|
-
<div class="
|
34
|
-
|
30
|
+
<div class="item__edit item__edit-1col">
|
31
|
+
<div class="item__edit-form">
|
32
|
+
<%= decidim_form_for(@form, url: conflict_path, method: :put, html: { class: "form form-defaults" }) do |f| %>
|
33
|
+
<div class="form__wrapper">
|
34
|
+
<div class="card pt-4">
|
35
|
+
<div class="card-section">
|
36
|
+
<div class="row column">
|
35
37
|
|
36
|
-
|
38
|
+
<%= f.text_field :reason, label: t("reason", scope: "decidim.admin.conflicts.transfer") %>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="row column">
|
42
|
+
|
43
|
+
<%= f.text_field :email, label: t("email", scope: "decidim.admin.conflicts.transfer") %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</div>
|
37
47
|
</div>
|
38
|
-
</div>
|
39
|
-
</div>
|
40
48
|
|
41
|
-
|
42
|
-
|
49
|
+
<div class="form__wrapper-block flex-col-reverse md:flex-row justify-between">
|
50
|
+
<%= f.submit t("title", scope: "decidim.admin.conflicts.transfer"), class: "button button__sm button__secondary" %>
|
51
|
+
</div>
|
52
|
+
<% end %>
|
43
53
|
</div>
|
44
|
-
|
54
|
+
</div>
|
@@ -51,9 +51,9 @@
|
|
51
51
|
<% end %>
|
52
52
|
<% if allowed_to?(:block, :moderate_users) %>
|
53
53
|
<% if moderation.user.blocked? %>
|
54
|
-
<%= icon_link_to "
|
54
|
+
<%= icon_link_to "refresh-line", user_block_path(user_id: moderation.user.id), t(".actions.unblock"), class: "action-icon action-icon--disabled", method: :delete %>
|
55
55
|
<% else %>
|
56
|
-
|
56
|
+
<%= icon_link_to "lock-2-line", new_user_block_path(user_id: moderation.user.id), t(".actions.block"), class: "action-icon action-icon" %>
|
57
57
|
<% end %>
|
58
58
|
<% end %>
|
59
59
|
</td>
|
@@ -3,7 +3,6 @@
|
|
3
3
|
<div class="item_show__header">
|
4
4
|
<h1 class="item_show__header-title">
|
5
5
|
<%= t ".title" %>
|
6
|
-
<%= link_to t("actions.newsletter.new", scope: "decidim.admin"), [:newsletter_templates], class: "button button__sm button__secondary expanded small new" %>
|
7
6
|
</h1>
|
8
7
|
</div>
|
9
8
|
|
@@ -6,7 +6,7 @@
|
|
6
6
|
</div>
|
7
7
|
<div class="item__edit item__edit-1col">
|
8
8
|
<div class="item__edit-form">
|
9
|
-
<%= decidim_form_for(@form, html: { class: "form-defaults form edit_content_block
|
9
|
+
<%= decidim_form_for(@form, html: { class: "form-defaults form edit_content_block" }, url: resource_landing_page_content_block_path) do |form| %>
|
10
10
|
<div class="form__wrapper">
|
11
11
|
<div class="card py-4">
|
12
12
|
<div class="card-section">
|
data/config/locales/ar.yml
CHANGED
@@ -38,8 +38,12 @@ ar:
|
|
38
38
|
user_group_id: إنشاء الاستيرادات ك
|
39
39
|
newsletter:
|
40
40
|
body: النص
|
41
|
+
send_to_all_users: إرسال إلى كافة المستخدمين
|
42
|
+
send_to_followers: إرسال إلى المتابِعين
|
43
|
+
send_to_participants: إرسال إلى المشتركين
|
41
44
|
subject: الموضوع
|
42
45
|
organization:
|
46
|
+
admin_terms_of_service_body: نص شروط الخدمة للمشرف
|
43
47
|
alert_color: تنبيه
|
44
48
|
available_authorizations: التراخيص المتاحة
|
45
49
|
badges_enabled: تمكين الشارات
|
@@ -53,8 +57,12 @@ ar:
|
|
53
57
|
enable_participatory_space_filters: تفعيل أختيارات فرز الفضاء التشاركي
|
54
58
|
facebook_handler: مُعرّف حساب فيسبوك
|
55
59
|
favicon: أيقونة
|
60
|
+
force_authentication: فرض المصادقة
|
61
|
+
force_users_to_authenticate_before_access_organization: إلزام المستخدمين على المصادقة قبل الدخول إلى المنظمة
|
62
|
+
from: البريد الإلكتروني للمرسل
|
56
63
|
github_handler: مُعرّف حساب غِت هَب
|
57
64
|
header_snippets: قصاصات رأس
|
65
|
+
highlight_alternative_color: تحديد، البديل
|
58
66
|
highlight_color: تظليل
|
59
67
|
highlighted_content_banner_action_subtitle: نص زر الإجراء
|
60
68
|
highlighted_content_banner_action_title: عنوان زر الإجراء
|
@@ -85,9 +93,12 @@ ar:
|
|
85
93
|
secondary_hosts: المستضيفين الثانويين
|
86
94
|
send_welcome_notification: إرسال إشعار بالترحيب
|
87
95
|
success_color: نجاح
|
96
|
+
tertiary_color: المستوى الثالث
|
88
97
|
time_zone: المنطقة الزمنية
|
89
98
|
tos_version: شروط وأحكام الخدمة
|
99
|
+
twitter_handler: X handler
|
90
100
|
user_groups_enabled: تمكين المجموعات
|
101
|
+
users_registration_mode: وضع تسجيل المستخدمين
|
91
102
|
warning_color: تحذير
|
92
103
|
welcome_notification_body: محتوى إشعار الترحيب
|
93
104
|
welcome_notification_subject: موضوع إشعار الترحيب
|
@@ -95,6 +106,8 @@ ar:
|
|
95
106
|
participatory_space_private_user:
|
96
107
|
email: البريد الإلكتروني
|
97
108
|
name: الإسم
|
109
|
+
participatory_space_private_user_csv_import:
|
110
|
+
file: ملف
|
98
111
|
scope:
|
99
112
|
code: الشفرة
|
100
113
|
name: الاسم
|
@@ -109,24 +122,46 @@ ar:
|
|
109
122
|
settings:
|
110
123
|
scope_id: المجال
|
111
124
|
static_page:
|
125
|
+
allow_public_access: السماح بالوصول دون مصادقة
|
112
126
|
changed_notably: كانت هناك تغييرات ملحوظة.
|
113
127
|
content: المحتوى
|
114
128
|
organization: المنظمة
|
115
129
|
show_in_footer: تظهر في تذييل الصفحة
|
116
130
|
slug: سبيكة العنوان الشبكي
|
117
131
|
title: العنوان
|
132
|
+
topic_id: الموضوع
|
133
|
+
weight: موضع الطلب
|
118
134
|
static_page_topic:
|
119
135
|
description: وصف
|
136
|
+
name: عنوان الموضوع
|
120
137
|
show_in_footer: تظهر في تذييل الصفحة
|
121
138
|
title: العنوان
|
139
|
+
weight: موضع الطلب
|
122
140
|
user_group_csv_verification:
|
123
141
|
file: ملف
|
124
142
|
errors:
|
125
143
|
models:
|
144
|
+
newsletter:
|
145
|
+
attributes:
|
146
|
+
base:
|
147
|
+
at_least_one_space: حدد مساحة تشاركية واحدة على الأقل.
|
126
148
|
organization:
|
127
149
|
attributes:
|
128
150
|
official_img_footer:
|
129
151
|
allowed_file_content_types: ملف صورة غير صالح
|
152
|
+
participatory_space_private_user_csv_import:
|
153
|
+
attributes:
|
154
|
+
file:
|
155
|
+
malformed: خطأ في ملفّ الاستيراد، يرجى قراءة التعليمات بعناية والتأكد من أن ترميز الملف هو UTF-8.
|
156
|
+
user_group_csv_verification:
|
157
|
+
attributes:
|
158
|
+
file:
|
159
|
+
malformed: خطأ في ملفّ الاستيراد، يرجى قراءة التعليمات بعناية والتأكد من أن ترميز الملف هو UTF-8.
|
160
|
+
new_import:
|
161
|
+
attributes:
|
162
|
+
file:
|
163
|
+
invalid_file: الملف غير صالح، يرجى التأكد من تنسيق الملف بشكل صحيح.
|
164
|
+
invalid_mime_type: ملف من نوع MIME غير صالح.
|
130
165
|
activerecord:
|
131
166
|
attributes:
|
132
167
|
decidim/static_page:
|
@@ -145,10 +180,15 @@ ar:
|
|
145
180
|
admin:
|
146
181
|
actions:
|
147
182
|
add: إضافة
|
183
|
+
attachment:
|
184
|
+
new: إضافة مرفق
|
185
|
+
attachment_collection:
|
186
|
+
new: مجلد مرفقات جديد
|
148
187
|
browse: تصفح
|
149
188
|
category:
|
150
189
|
new: فئة جديدة
|
151
190
|
export: تصدير الكل
|
191
|
+
export-selection: تصدير الإختيار
|
152
192
|
import: استيراد
|
153
193
|
manage: تدبير
|
154
194
|
newsletter:
|
@@ -289,13 +329,15 @@ ar:
|
|
289
329
|
title: تضارب التحقق
|
290
330
|
transfer:
|
291
331
|
email: البريد الإلكتروني
|
292
|
-
error: كانت هناك مشكلة في نقل المشارك الحالي إلى مشارك مُدار.
|
293
332
|
name: الإسم
|
294
333
|
reason: السبب
|
295
334
|
success: قد اكتمل النقل الحالي بنجاح.
|
296
335
|
title: نقل
|
297
336
|
'true': 'نعم'
|
298
337
|
user_name: المستخدم
|
338
|
+
content_blocks:
|
339
|
+
edit:
|
340
|
+
title: محتويات الصفحة
|
299
341
|
dashboard:
|
300
342
|
show:
|
301
343
|
view_more_logs: عرض المزيد من السجلات
|
@@ -432,6 +474,9 @@ ar:
|
|
432
474
|
download_example_format: مثال كـ %{name}
|
433
475
|
file_legend: إضافة ملف استيراد سيتم تحليله.
|
434
476
|
import: استيراد
|
477
|
+
logs:
|
478
|
+
filters:
|
479
|
+
user: المستخدم
|
435
480
|
managed_users:
|
436
481
|
promotion:
|
437
482
|
error: كانت هناك مشكلة في تعزيز المشارك المُدار.
|
@@ -509,6 +554,7 @@ ar:
|
|
509
554
|
plural: جمع
|
510
555
|
share_token:
|
511
556
|
fields:
|
557
|
+
created_at: أنشئت في
|
512
558
|
expires_at: تنتهي صلاحيته في
|
513
559
|
token: رمز التشفير - Token
|
514
560
|
user: تم الإنشاء بواسطة
|
@@ -531,8 +577,8 @@ ar:
|
|
531
577
|
actions: أفعال
|
532
578
|
created_at: أنشئت في
|
533
579
|
document_number: رقم المستند
|
534
|
-
name:
|
535
|
-
nickname:
|
580
|
+
name: الاسم
|
581
|
+
nickname: كنية
|
536
582
|
phone: هاتف
|
537
583
|
state: حالة
|
538
584
|
users_count: عدد المشاركين
|
@@ -566,6 +612,11 @@ ar:
|
|
566
612
|
reported_content: محتوى تم الإبلاغ عنه
|
567
613
|
show:
|
568
614
|
report_reason: السبب
|
615
|
+
new_import:
|
616
|
+
accepted_mime_types:
|
617
|
+
csv: CSV
|
618
|
+
json: JSON
|
619
|
+
xlsx: XLSX
|
569
620
|
newsletter_templates:
|
570
621
|
index:
|
571
622
|
preview_template: معاينة
|
@@ -602,7 +653,7 @@ ar:
|
|
602
653
|
all_spaces: الكل
|
603
654
|
confirm_deliver: هل أنت متأكد من أنك تريد تسليم هذه الرسالة الإخبارية؟ لا يمكن التراجع عن هذا الإجراء.
|
604
655
|
deliver: تسليم النشرة الإخبارية
|
605
|
-
none: لا
|
656
|
+
none: لا شيء
|
606
657
|
scopes_help: إرسال النشرة الإخبارية للمستخدمين الذين لديهم أي من المجالات المحددة تم تفعيله في إعدادات "اهتماماتي" لحسابهم.
|
607
658
|
select_scopes: أختر للمستخدمين الذين فعلوا أي مجال محدد في إعدادات أهتماماتي لحساباتهم.
|
608
659
|
title: حدد المستلمين للإرسال اليهم
|
@@ -689,6 +740,8 @@ ar:
|
|
689
740
|
title: مشارك جديد الفضاء الخاص المشارك.
|
690
741
|
participatory_space_private_users_csv_imports:
|
691
742
|
new:
|
743
|
+
csv_upload:
|
744
|
+
title: قم بتحميل ملف CSV الخاص بك
|
692
745
|
destroy:
|
693
746
|
button: حذف جميع المشاركين الخاصين
|
694
747
|
empty: ليس لديك أي مشاركين خاصين.
|
@@ -786,10 +839,12 @@ ar:
|
|
786
839
|
areas: المناطق
|
787
840
|
authorization_workflows: طرق التحقق
|
788
841
|
dashboard: لوحة القيادة
|
842
|
+
edit_landing_page: محتويات الصفحة
|
789
843
|
edit_organization_appearance: تعديل مظهر الصفحة الرئيسية
|
790
844
|
impersonatable_users: المشاركون في الإدارة
|
791
845
|
impersonations: إدارة المشاركين
|
792
846
|
menu: القائمة الرئيسية
|
847
|
+
page_topics: المواضيع
|
793
848
|
pages: الصفحات
|
794
849
|
panel: مدير
|
795
850
|
participants: المشاركين
|
@@ -809,14 +864,14 @@ ar:
|
|
809
864
|
index:
|
810
865
|
state:
|
811
866
|
pending: قيد الانتظار
|
812
|
-
rejected:
|
813
|
-
verified: التحقق
|
867
|
+
rejected: تم رفضه
|
868
|
+
verified: تم التحقق
|
814
869
|
verify_via_csv: تحقق عبر CSV
|
815
870
|
user_groups_csv_verifications:
|
816
871
|
new:
|
817
872
|
explanation: قم بتحميل ملف CSV الخاص بك. يجب أن يحتوي على رسائل البريد الإلكتروني الرسمية للمجموعات في مؤسستك في العمود الأول من الملف ، بدون رؤوس. سيتم التحقق من صحة المجموعات التي أكدت بريدها الإلكتروني والتي تحتوي على بريد إلكتروني ظاهر في ملف CSV.
|
818
873
|
title: قم بتحميل ملف CSV الخاص بك
|
819
|
-
upload:
|
874
|
+
upload: حمّل
|
820
875
|
users:
|
821
876
|
create:
|
822
877
|
error: كانت هناك مشكلة في دعوة هذا المشرف.
|
data/config/locales/bg.yml
CHANGED
@@ -892,7 +892,7 @@ bg:
|
|
892
892
|
success: Файлът във формат CSV беше качен успешно; изпращаме имейл с покана на участниците. Това може да отнеме известно време.
|
893
893
|
new:
|
894
894
|
csv_upload:
|
895
|
-
title: Качете своя файл
|
895
|
+
title: Качете своя CSV файл
|
896
896
|
destroy:
|
897
897
|
button: Изтрийте всички частни участници
|
898
898
|
confirm: Сигурни ли сте, че искате да изтриете всички частни участници? Това действие е необратимо, няма да можете да ги възстановите.
|
@@ -1050,7 +1050,7 @@ bg:
|
|
1050
1050
|
index:
|
1051
1051
|
state:
|
1052
1052
|
pending: Изчакване
|
1053
|
-
rejected:
|
1053
|
+
rejected: Отхвърлен
|
1054
1054
|
verified: Проверен
|
1055
1055
|
verify_via_csv: Проверка чрез CSV
|
1056
1056
|
user_groups_csv_verifications:
|
@@ -0,0 +1 @@
|
|
1
|
+
bn:
|