decidim-admin 0.29.0 → 0.29.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/commands/decidim/admin/block_user.rb +1 -0
- data/app/commands/decidim/admin/create_participatory_space_private_user.rb +1 -1
- 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_external_domain_allowlist_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/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/newsletters/select_recipients_to_deliver.html.erb +4 -3
- data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +1 -1
- data/config/locales/ar.yml +48 -1
- data/config/locales/bg.yml +2 -0
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +525 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/de.yml +3 -3
- data/config/locales/es-MX.yml +3 -3
- data/config/locales/es-PY.yml +3 -3
- data/config/locales/es.yml +3 -3
- data/config/locales/eu.yml +143 -131
- data/config/locales/fi-plain.yml +3 -3
- data/config/locales/fi.yml +20 -20
- data/config/locales/fr-CA.yml +1 -1
- data/config/locales/gl.yml +2 -2
- data/config/locales/hu.yml +1 -1
- data/config/locales/id-ID.yml +4 -0
- data/config/locales/is-IS.yml +12 -0
- data/config/locales/it.yml +3 -3
- data/config/locales/ja.yml +7 -7
- data/config/locales/kaa.yml +0 -3
- data/config/locales/ko.yml +1 -1
- data/config/locales/lb.yml +4 -4
- data/config/locales/lv.yml +3 -2
- data/config/locales/nl.yml +1 -1
- data/config/locales/no.yml +1 -1
- data/config/locales/pl.yml +1 -1
- data/config/locales/pt-BR.yml +3 -0
- data/config/locales/pt.yml +4 -0
- data/config/locales/ro-RO.yml +2 -2
- data/config/locales/ru.yml +3 -1
- data/config/locales/sk.yml +3 -2
- data/config/locales/sl.yml +0 -2
- data/config/locales/sq-AL.yml +0 -3
- data/config/locales/sr-CS.yml +3 -3
- data/config/locales/sv.yml +165 -93
- data/config/locales/th-TH.yml +10 -0
- data/config/locales/tr-TR.yml +2 -2
- data/config/locales/uk.yml +3 -0
- data/config/locales/zh-CN.yml +0 -6
- data/config/routes.rb +1 -1
- data/decidim-admin.gemspec +1 -1
- data/lib/decidim/admin/engine.rb +1 -0
- data/lib/decidim/admin/version.rb +1 -1
- metadata +11 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5369e22c8aa5d1eef8398ca2971c4231fcdda8284df5350ca231b68e47e78cf
|
4
|
+
data.tar.gz: 28d412f0fbd4683f6031784abf212ba6341f0dd803a57eb167b9d1bf186f83a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d25815c8206161af6f158106f8258abc3280cb05e03c528fb7e628479bae1c43551a4172014a181a09f66ec6eb24da6f0cfd55e4d3302fb0b8aa0391d0cfd430
|
7
|
+
data.tar.gz: 71a6522e75aed08bbdc65577cd76b2c69741d66f28b350c04dc02c1c92850e96fd50c481a23e02da804316f8eb24e5a1186dad94912eae6b2bb1072774d292fb
|
@@ -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
|
@@ -18,7 +18,7 @@ module Decidim
|
|
18
18
|
enforce_permission_to :update, :organization, organization: current_organization
|
19
19
|
@form = form(OrganizationExternalDomainAllowlistForm).from_params(params)
|
20
20
|
|
21
|
-
UpdateExternalDomainAllowlist.call(@form, current_organization
|
21
|
+
UpdateExternalDomainAllowlist.call(@form, current_organization) do
|
22
22
|
on(:ok) do
|
23
23
|
flash[:notice] = t("domain_allowlist.update.success", scope: "decidim.admin")
|
24
24
|
redirect_to edit_organization_external_domain_allowlist_path
|
@@ -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
|
@@ -32,9 +32,9 @@ module Decidim
|
|
32
32
|
attribute :tertiary_color, String
|
33
33
|
|
34
34
|
translatable_attribute :cta_button_text, String
|
35
|
-
translatable_attribute :description,
|
35
|
+
translatable_attribute :description, Decidim::Attributes::RichText
|
36
36
|
translatable_attribute :highlighted_content_banner_title, String
|
37
|
-
translatable_attribute :highlighted_content_banner_short_description,
|
37
|
+
translatable_attribute :highlighted_content_banner_short_description, Decidim::Attributes::RichText
|
38
38
|
translatable_attribute :highlighted_content_banner_action_title, String
|
39
39
|
translatable_attribute :highlighted_content_banner_action_subtitle, String
|
40
40
|
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 :allow_public_access, Boolean
|
15
15
|
attribute :weight, Integer
|
@@ -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
|
});
|
@@ -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
|
|
@@ -54,13 +54,14 @@
|
|
54
54
|
</div>
|
55
55
|
|
56
56
|
<% if current_user.admin? %>
|
57
|
-
<div class="card">
|
57
|
+
<div class="card mb-2">
|
58
58
|
<div class="card-divider">
|
59
59
|
<h2 class="card-title"><%= t ".select_scopes" %></h2>
|
60
60
|
</div>
|
61
61
|
<div class="card-section">
|
62
|
-
<div class="
|
63
|
-
<%=
|
62
|
+
<div class="cell small-12 medium-6 m-4">
|
63
|
+
<%= scopes_select_field f, :scope_ids, options: { include_blank: false }, html_options: { class: "chosen-select", multiple: true, size: 5 } %>
|
64
|
+
<span class="help-text"> <%= t(".scopes_help") %> </span>
|
64
65
|
</div>
|
65
66
|
</div>
|
66
67
|
</div>
|
@@ -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: موضوع إشعار الترحيب
|
@@ -109,24 +120,46 @@ ar:
|
|
109
120
|
settings:
|
110
121
|
scope_id: المجال
|
111
122
|
static_page:
|
123
|
+
allow_public_access: السماح بالوصول دون مصادقة
|
112
124
|
changed_notably: كانت هناك تغييرات ملحوظة.
|
113
125
|
content: المحتوى
|
114
126
|
organization: المنظمة
|
115
127
|
show_in_footer: تظهر في تذييل الصفحة
|
116
128
|
slug: سبيكة العنوان الشبكي
|
117
129
|
title: العنوان
|
130
|
+
topic_id: الموضوع
|
131
|
+
weight: موضع الطلب
|
118
132
|
static_page_topic:
|
119
133
|
description: وصف
|
134
|
+
name: عنوان الموضوع
|
120
135
|
show_in_footer: تظهر في تذييل الصفحة
|
121
136
|
title: العنوان
|
137
|
+
weight: موضع الطلب
|
122
138
|
user_group_csv_verification:
|
123
139
|
file: ملف
|
124
140
|
errors:
|
125
141
|
models:
|
142
|
+
newsletter:
|
143
|
+
attributes:
|
144
|
+
base:
|
145
|
+
at_least_one_space: حدد مساحة تشاركية واحدة على الأقل.
|
126
146
|
organization:
|
127
147
|
attributes:
|
128
148
|
official_img_footer:
|
129
149
|
allowed_file_content_types: ملف صورة غير صالح
|
150
|
+
participatory_space_private_user_csv_import:
|
151
|
+
attributes:
|
152
|
+
file:
|
153
|
+
malformed: خطأ في ملفّ الاستيراد، يرجى قراءة التعليمات بعناية والتأكد من أن ترميز الملف هو UTF-8.
|
154
|
+
user_group_csv_verification:
|
155
|
+
attributes:
|
156
|
+
file:
|
157
|
+
malformed: خطأ في ملفّ الاستيراد، يرجى قراءة التعليمات بعناية والتأكد من أن ترميز الملف هو UTF-8.
|
158
|
+
new_import:
|
159
|
+
attributes:
|
160
|
+
file:
|
161
|
+
invalid_file: الملف غير صالح، يرجى التأكد من تنسيق الملف بشكل صحيح.
|
162
|
+
invalid_mime_type: ملف من نوع MIME غير صالح.
|
130
163
|
activerecord:
|
131
164
|
attributes:
|
132
165
|
decidim/static_page:
|
@@ -145,10 +178,15 @@ ar:
|
|
145
178
|
admin:
|
146
179
|
actions:
|
147
180
|
add: إضافة
|
181
|
+
attachment:
|
182
|
+
new: إضافة مرفق
|
183
|
+
attachment_collection:
|
184
|
+
new: مجلد مرفقات جديد
|
148
185
|
browse: تصفح
|
149
186
|
category:
|
150
187
|
new: فئة جديدة
|
151
188
|
export: تصدير الكل
|
189
|
+
export-selection: تصدير الإختيار
|
152
190
|
import: استيراد
|
153
191
|
manage: تدبير
|
154
192
|
newsletter:
|
@@ -295,6 +333,9 @@ ar:
|
|
295
333
|
title: نقل
|
296
334
|
'true': 'نعم'
|
297
335
|
user_name: المستخدم
|
336
|
+
content_blocks:
|
337
|
+
edit:
|
338
|
+
title: محتويات الصفحة
|
298
339
|
dashboard:
|
299
340
|
show:
|
300
341
|
view_more_logs: عرض المزيد من السجلات
|
@@ -430,6 +471,9 @@ ar:
|
|
430
471
|
download_example_format: مثال كـ %{name}
|
431
472
|
file_legend: إضافة ملف استيراد سيتم تحليله.
|
432
473
|
import: استيراد
|
474
|
+
logs:
|
475
|
+
filters:
|
476
|
+
user: المستخدم
|
433
477
|
managed_users:
|
434
478
|
promotion:
|
435
479
|
error: كانت هناك مشكلة في تعزيز المشارك المُدار.
|
@@ -507,6 +551,7 @@ ar:
|
|
507
551
|
plural: جمع
|
508
552
|
share_token:
|
509
553
|
fields:
|
554
|
+
created_at: أنشئت في
|
510
555
|
expires_at: تنتهي صلاحيته في
|
511
556
|
token: رمز التشفير - Token
|
512
557
|
user: تم الإنشاء بواسطة
|
@@ -600,7 +645,7 @@ ar:
|
|
600
645
|
all_spaces: الكل
|
601
646
|
confirm_deliver: هل أنت متأكد من أنك تريد تسليم هذه الرسالة الإخبارية؟ لا يمكن التراجع عن هذا الإجراء.
|
602
647
|
deliver: تسليم النشرة الإخبارية
|
603
|
-
none: لا
|
648
|
+
none: لا شيء
|
604
649
|
scopes_help: إرسال النشرة الإخبارية للمستخدمين الذين لديهم أي من المجالات المحددة تم تفعيله في إعدادات "اهتماماتي" لحسابهم.
|
605
650
|
select_scopes: أختر للمستخدمين الذين فعلوا أي مجال محدد في إعدادات أهتماماتي لحساباتهم.
|
606
651
|
title: حدد المستلمين للإرسال اليهم
|
@@ -779,10 +824,12 @@ ar:
|
|
779
824
|
areas: المناطق
|
780
825
|
authorization_workflows: طرق التحقق
|
781
826
|
dashboard: لوحة القيادة
|
827
|
+
edit_landing_page: محتويات الصفحة
|
782
828
|
edit_organization_appearance: تعديل مظهر الصفحة الرئيسية
|
783
829
|
impersonatable_users: المشاركون في الإدارة
|
784
830
|
impersonations: إدارة المشاركين
|
785
831
|
menu: القائمة الرئيسية
|
832
|
+
page_topics: المواضيع
|
786
833
|
pages: الصفحات
|
787
834
|
panel: مدير
|
788
835
|
participants: المشاركين
|
data/config/locales/bg.yml
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
bn:
|