decidim-conferences 0.16.1 → 0.19.0
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/assets/stylesheet/decidim/conferences/conferences.scss +3 -0
- data/app/cells/decidim/conferences/conference_address/show.erb +1 -1
- data/app/cells/decidim/conferences/conference_m/footer.erb +1 -1
- data/app/cells/decidim/conferences/conference_speaker/show.erb +2 -2
- data/app/cells/decidim/conferences/conference_speaker_cell.rb +6 -2
- data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_cell.rb +0 -1
- data/app/cells/decidim/conferences/linked_participatory_spaces_cell.rb +6 -0
- data/app/cells/decidim/conferences/partner_cell.rb +2 -0
- data/app/cells/decidim/conferences/photos_list_cell.rb +1 -0
- data/app/cells/decidim/conferences/registration_type_cell.rb +2 -0
- data/app/commands/decidim/conferences/admin/confirm_conference_registration.rb +1 -0
- data/app/commands/decidim/conferences/admin/create_conference.rb +0 -10
- data/app/commands/decidim/conferences/admin/create_conference_admin.rb +1 -0
- data/app/commands/decidim/conferences/admin/publish_conference.rb +12 -0
- data/app/commands/decidim/conferences/admin/update_conference.rb +6 -2
- data/app/commands/decidim/conferences/admin/update_diploma.rb +1 -0
- data/app/commands/decidim/conferences/join_conference.rb +2 -0
- data/app/commands/decidim/conferences/leave_conference.rb +1 -0
- data/app/controllers/decidim/conferences/admin/application_controller.rb +5 -4
- data/app/controllers/decidim/conferences/admin/concerns/conference_admin.rb +6 -4
- data/app/controllers/decidim/conferences/admin/conference_registrations_controller.rb +1 -0
- data/app/controllers/decidim/conferences/application_controller.rb +6 -5
- data/app/controllers/decidim/conferences/conference_program_controller.rb +4 -1
- data/app/controllers/decidim/conferences/conference_registrations_controller.rb +1 -0
- data/app/controllers/decidim/conferences/conference_speakers_controller.rb +1 -0
- data/app/controllers/decidim/conferences/media_controller.rb +1 -0
- data/app/controllers/decidim/conferences/registration_types_controller.rb +1 -0
- data/app/forms/decidim/conferences/admin/conference_form.rb +4 -0
- data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -0
- data/app/forms/decidim/conferences/admin/registration_type_form.rb +1 -0
- data/app/helpers/decidim/conferences/conference_helper.rb +1 -0
- data/app/models/decidim/conference.rb +9 -4
- data/app/models/decidim/conference_user_role.rb +1 -0
- data/app/permissions/decidim/conferences/permissions.rb +6 -0
- data/app/presenters/decidim/conferences/admin_log/value_types/role_presenter.rb +1 -0
- data/app/presenters/decidim/log/value_types/conference_presenter.rb +1 -0
- data/app/queries/decidim/conferences/admin/admin_users.rb +8 -1
- data/app/queries/decidim/conferences/admin/conference_invites.rb +1 -0
- data/app/queries/decidim/conferences/admin/conference_speakers.rb +1 -0
- data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +3 -3
- data/app/views/decidim/conferences/admin/conferences/index.html.erb +3 -3
- data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/_partners.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/_promoted_conference.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/show.html.erb +3 -3
- data/app/views/decidim/conferences/media/index.html.erb +2 -2
- data/app/views/layouts/decidim/_conference_hero.html.erb +3 -3
- data/app/views/layouts/decidim/diploma.html.erb +2 -2
- data/config/locales/ar-SA.yml +132 -22
- data/config/locales/ar.yml +589 -0
- data/config/locales/ca.yml +192 -191
- data/config/locales/cs-CZ.yml +3 -3
- data/config/locales/cs.yml +581 -0
- data/config/locales/de.yml +15 -14
- data/config/locales/en.yml +87 -85
- data/config/locales/eo-UY.yml +1 -0
- data/config/locales/es-MX.yml +7 -6
- data/config/locales/es-PY.yml +8 -7
- data/config/locales/es.yml +161 -160
- data/config/locales/eu.yml +6 -5
- data/config/locales/fi-pl.yml +3 -3
- data/config/locales/fi-plain.yml +571 -0
- data/config/locales/fi.yml +65 -64
- data/config/locales/fr.yml +100 -99
- data/config/locales/gl.yml +6 -5
- data/config/locales/hu.yml +9 -8
- data/config/locales/id-ID.yml +6 -5
- data/config/locales/it.yml +9 -8
- data/config/locales/nl.yml +8 -7
- data/config/locales/no.yml +5 -0
- data/config/locales/pl.yml +6 -5
- data/config/locales/pt-BR.yml +6 -5
- data/config/locales/pt.yml +6 -5
- data/config/locales/sv.yml +206 -205
- data/config/locales/tr-TR.yml +6 -5
- data/lib/decidim/conferences/admin_engine.rb +1 -0
- data/lib/decidim/conferences/participatory_space.rb +2 -0
- data/lib/decidim/conferences/version.rb +1 -1
- metadata +26 -21
@@ -50,6 +50,7 @@ module Decidim
|
|
50
50
|
def conference_meetings
|
51
51
|
meeting_components = current_participatory_space.components.where(manifest_name: "meetings")
|
52
52
|
return unless meeting_components || conference_meeting_ids.delete("").present?
|
53
|
+
|
53
54
|
@conference_meetings ||= Decidim::ConferenceMeeting.where(component: meeting_components).where(id: conference_meeting_ids)
|
54
55
|
end
|
55
56
|
|
@@ -36,6 +36,7 @@ module Decidim
|
|
36
36
|
def conference_meetings
|
37
37
|
meeting_components = current_participatory_space.components.where(manifest_name: "meetings")
|
38
38
|
return unless meeting_components || conference_meeting_ids.delete("").present?
|
39
|
+
|
39
40
|
@conference_meetings ||= Decidim::ConferenceMeeting.where(component: meeting_components).where(id: conference_meeting_ids)
|
40
41
|
end
|
41
42
|
end
|
@@ -8,6 +8,7 @@ module Decidim
|
|
8
8
|
#
|
9
9
|
def render_date(conference)
|
10
10
|
return l(conference.start_date, format: :decidim_with_month_name_short) if conference.start_date == conference.end_date
|
11
|
+
|
11
12
|
"#{l(conference.start_date, format: :decidim_with_month_name_short)} - #{l(conference.end_date, format: :decidim_with_month_name_short)}"
|
12
13
|
end
|
13
14
|
end
|
@@ -20,10 +20,7 @@ module Decidim
|
|
20
20
|
belongs_to :organization,
|
21
21
|
foreign_key: "decidim_organization_id",
|
22
22
|
class_name: "Decidim::Organization"
|
23
|
-
|
24
|
-
foreign_key: "decidim_area_id",
|
25
|
-
class_name: "Decidim::Area",
|
26
|
-
optional: true
|
23
|
+
|
27
24
|
has_many :categories,
|
28
25
|
foreign_key: "decidim_participatory_space_id",
|
29
26
|
foreign_type: "decidim_participatory_space_type",
|
@@ -87,6 +84,7 @@ module Decidim
|
|
87
84
|
|
88
85
|
def has_available_slots?
|
89
86
|
return true if available_slots.zero?
|
87
|
+
|
90
88
|
available_slots > conference_registrations.count
|
91
89
|
end
|
92
90
|
|
@@ -96,7 +94,14 @@ module Decidim
|
|
96
94
|
|
97
95
|
def diploma_sent?
|
98
96
|
return false if diploma_sent_at.nil?
|
97
|
+
|
99
98
|
true
|
100
99
|
end
|
100
|
+
|
101
|
+
def closed?
|
102
|
+
return false if end_date.blank?
|
103
|
+
|
104
|
+
end_date < Date.current
|
105
|
+
end
|
101
106
|
end
|
102
107
|
end
|
@@ -24,6 +24,7 @@ module Decidim
|
|
24
24
|
# Private: check if the process and the user have the same organization
|
25
25
|
def user_and_conference_same_organization
|
26
26
|
return if !conference || !user
|
27
|
+
|
27
28
|
errors.add(:conference, :invalid) unless user.organization == conference.organization
|
28
29
|
end
|
29
30
|
end
|
@@ -30,6 +30,7 @@ module Decidim
|
|
30
30
|
end
|
31
31
|
|
32
32
|
return permission_action unless user
|
33
|
+
|
33
34
|
if !has_manageable_conferences? && !user.admin?
|
34
35
|
disallow!
|
35
36
|
return permission_action
|
@@ -94,12 +95,14 @@ module Decidim
|
|
94
95
|
# Checks if it has any manageable conference, with any possible role.
|
95
96
|
def has_manageable_conferences?(role: :any)
|
96
97
|
return unless user
|
98
|
+
|
97
99
|
conferences_with_role_privileges(role).any?
|
98
100
|
end
|
99
101
|
|
100
102
|
# Whether the user can manage the given conference or not.
|
101
103
|
def can_manage_conference?(role: :any)
|
102
104
|
return unless user
|
105
|
+
|
103
106
|
conferences_with_role_privileges(role).include? conference
|
104
107
|
end
|
105
108
|
|
@@ -123,6 +126,7 @@ module Decidim
|
|
123
126
|
|
124
127
|
return allow! if user&.admin?
|
125
128
|
return allow! if conference.published?
|
129
|
+
|
126
130
|
toggle_allow(can_manage_conference?)
|
127
131
|
end
|
128
132
|
|
@@ -222,12 +226,14 @@ module Decidim
|
|
222
226
|
# Everyone can read the conference list
|
223
227
|
def user_can_read_conference_list?
|
224
228
|
return unless read_conference_list_permission_action?
|
229
|
+
|
225
230
|
toggle_allow(user.admin? || has_manageable_conferences?)
|
226
231
|
end
|
227
232
|
|
228
233
|
def user_can_read_current_conference?
|
229
234
|
return unless read_conference_list_permission_action?
|
230
235
|
return if permission_action.subject == :conference_list
|
236
|
+
|
231
237
|
toggle_allow(user.admin? || can_manage_conference?)
|
232
238
|
end
|
233
239
|
|
@@ -23,7 +23,7 @@ module Decidim
|
|
23
23
|
#
|
24
24
|
# Returns an ActiveRecord::Relation.
|
25
25
|
def query
|
26
|
-
Decidim::User.where(id: organization_admins)
|
26
|
+
Decidim::User.where(id: organization_admins).or(conference_user_admins)
|
27
27
|
end
|
28
28
|
|
29
29
|
private
|
@@ -33,6 +33,13 @@ module Decidim
|
|
33
33
|
def organization_admins
|
34
34
|
conference.organization.admins
|
35
35
|
end
|
36
|
+
|
37
|
+
def conference_user_admins
|
38
|
+
conference_user_admin_ids = Decidim::ConferenceUserRole
|
39
|
+
.where(conference: conference, role: :admin)
|
40
|
+
.pluck(:decidim_user_id)
|
41
|
+
Decidim::User.where(id: conference_user_admin_ids)
|
42
|
+
end
|
36
43
|
end
|
37
44
|
end
|
38
45
|
end
|
@@ -36,6 +36,7 @@ module Decidim
|
|
36
36
|
|
37
37
|
def filter_by_search(conference_invites)
|
38
38
|
return conference_invites if @query.blank?
|
39
|
+
|
39
40
|
conference_invites.joins(:user).where(
|
40
41
|
User.arel_table[:name].lower.matches("%#{@query}%").or(User.arel_table[:email].lower.matches("%#{@query}%"))
|
41
42
|
)
|
@@ -25,10 +25,10 @@
|
|
25
25
|
<% @conference_user_roles.each do |role| %>
|
26
26
|
<tr>
|
27
27
|
<td>
|
28
|
-
<%= role.user.name %><br
|
28
|
+
<%= role.user.name %><br>
|
29
29
|
</td>
|
30
30
|
<td>
|
31
|
-
<%= role.user.email %><br
|
31
|
+
<%= role.user.email %><br>
|
32
32
|
</td>
|
33
33
|
<td>
|
34
34
|
<% if role.user.invitation_sent_at %>
|
@@ -41,7 +41,7 @@
|
|
41
41
|
<% end %>
|
42
42
|
</td>
|
43
43
|
<td>
|
44
|
-
<%= t("#{role.role}", scope: "decidim.admin.models.conference_user_role.roles") %><br
|
44
|
+
<%= t("#{role.role}", scope: "decidim.admin.models.conference_user_role.roles") %><br>
|
45
45
|
</td>
|
46
46
|
<td class="table-list__actions">
|
47
47
|
<% if allowed_to?(:invite, :conference_user_role, user_role: role) && role.user.invited_to_sign_up? %>
|
@@ -26,11 +26,11 @@
|
|
26
26
|
</span>
|
27
27
|
<% end %>
|
28
28
|
<% if allowed_to? :update, :conference, conference: conference %>
|
29
|
-
<%= link_to translated_attribute(conference.title), edit_conference_path(conference) %><br
|
29
|
+
<%= link_to translated_attribute(conference.title), edit_conference_path(conference) %><br>
|
30
30
|
<% elsif allowed_to? :preview, :conference, conference: conference %>
|
31
|
-
<%= link_to translated_attribute(conference.title), decidim_conferences.conference_path(conference) %><br
|
31
|
+
<%= link_to translated_attribute(conference.title), decidim_conferences.conference_path(conference) %><br>
|
32
32
|
<% elsif allowed_to? :read, :moderation, conference: conference %>
|
33
|
-
<%= link_to translated_attribute(conference.title), moderations_path(conference) %><br
|
33
|
+
<%= link_to translated_attribute(conference.title), moderations_path(conference) %><br>
|
34
34
|
<% else %>
|
35
35
|
<%= translated_attribute(conference.title) %>
|
36
36
|
<% end %>
|
data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
<h3><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance") %></h3>
|
11
11
|
<p><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance_description", user: @user.name, title: translated_attribute(@conference.title), location: @conference.location, start: l(@conference.start_date, format: :decidim_short), end: l(@conference.end_date, format: :decidim_short) ).html_safe %></p>
|
12
12
|
</div>
|
13
|
-
<hr class="reset mt-m mb-m"
|
13
|
+
<hr class="reset mt-m mb-m">
|
14
14
|
<div class="diploma__attendance">
|
15
15
|
<strong><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.attendance_verified_by") %></strong>
|
16
16
|
<div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% if conference.partners.any? %>
|
2
2
|
<div id="conference-partners">
|
3
3
|
<% conference.partners.group_by(&:partner_type).each do |partner_type, partners| %>
|
4
|
-
<hr class="reset mt-none mb-m"
|
4
|
+
<hr class="reset mt-none mb-m">
|
5
5
|
<section class="section">
|
6
6
|
<h1 class="section-heading"><%= t(".#{partner_type.pluralize}") %></h1>
|
7
7
|
<div class="row small-up-2 medium-up-3 card-grid">
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<div class="card__content row collapse">
|
18
18
|
<div class="large-6 large-offset-6 columns">
|
19
19
|
<%= link_to conference_path(promoted_conference), class: "button expanded button--sc" do %>
|
20
|
-
<%= t(
|
20
|
+
<%= t(promoted_conference.cta_button_text_key, scope: "layouts.decidim.conferences.promoted_conference") %>
|
21
21
|
<% end %>
|
22
22
|
</div>
|
23
23
|
</div>
|
@@ -22,7 +22,7 @@ edit_link(
|
|
22
22
|
<h4 class="section-heading"><%= t("conferences.show.introduction", scope: "decidim") %></h4>
|
23
23
|
<%= decidim_sanitize translated_attribute(current_participatory_space.short_description) %>
|
24
24
|
</section>
|
25
|
-
<hr class="reset mt-none mb-m"
|
25
|
+
<hr class="reset mt-none mb-m">
|
26
26
|
<section class="section">
|
27
27
|
<h4 class="section-heading"><%= t("conferences.show.details", scope: "decidim") %></h4>
|
28
28
|
<%= decidim_sanitize translated_attribute(current_participatory_space.description) %>
|
@@ -53,7 +53,7 @@ edit_link(
|
|
53
53
|
<%= render_hook(:conference_venues) %>
|
54
54
|
|
55
55
|
<% if current_participatory_space.registrations_enabled? %>
|
56
|
-
<hr class="reset mt-none mb-m"
|
56
|
+
<hr class="reset mt-none mb-m">
|
57
57
|
<section class="section">
|
58
58
|
<h4 class="section-heading"><%= t(".register") %></h4>
|
59
59
|
<% if current_user.present? %>
|
@@ -72,7 +72,7 @@ edit_link(
|
|
72
72
|
</section>
|
73
73
|
<% end %>
|
74
74
|
|
75
|
-
<hr class="reset mt-none mb-m"
|
75
|
+
<hr class="reset mt-none mb-m">
|
76
76
|
|
77
77
|
<% unless translated_attribute(current_participatory_space.objectives).blank? %>
|
78
78
|
<section class="section">
|
@@ -16,7 +16,7 @@ edit_link(
|
|
16
16
|
<h1 class="section-heading"><%= t("media.index.title", scope: "decidim") %></h1>
|
17
17
|
<p><%= t("media.index.description", scope: "decidim") %></p>
|
18
18
|
</section>
|
19
|
-
<hr class="reset mt-none mb-s"
|
19
|
+
<hr class="reset mt-none mb-s">
|
20
20
|
<section class="media-links">
|
21
21
|
<ul class="list-reset">
|
22
22
|
<% @media_links.each do |media_link| %>
|
@@ -24,7 +24,7 @@ edit_link(
|
|
24
24
|
<% end %>
|
25
25
|
</ul>
|
26
26
|
</section>
|
27
|
-
<hr class="reset mt-none mb-s"
|
27
|
+
<hr class="reset mt-none mb-s">
|
28
28
|
<% end %>
|
29
29
|
<%= attachments_for_conference current_participatory_space %>
|
30
30
|
</div>
|
@@ -19,10 +19,10 @@
|
|
19
19
|
<div class="row">
|
20
20
|
<div class="row column medium-8 text-left mt-m">
|
21
21
|
<div class="column medium-6">
|
22
|
-
<
|
23
|
-
<%= render_date(current_participatory_space) %>
|
22
|
+
<div class="conference--date button hollow light expanded">
|
23
|
+
<%= participatory_space_helpers.render_date(current_participatory_space) %>
|
24
24
|
<%= current_participatory_space.location %>
|
25
|
-
</
|
25
|
+
</div>
|
26
26
|
</div>
|
27
27
|
<% if current_participatory_space.registrations_enabled? %>
|
28
28
|
<div class="column medium-3 end">
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html lang="<%= I18n.locale %>" class="no-js">
|
3
3
|
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"
|
5
|
-
<meta name="viewport" content="width=device-width"
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width">
|
6
6
|
<%= wicked_pdf_stylesheet_link_tag "decidim/conference-diploma" %>
|
7
7
|
</head>
|
8
8
|
<body>
|
data/config/locales/ar-SA.yml
CHANGED
@@ -12,14 +12,15 @@ ar:
|
|
12
12
|
description: وصف
|
13
13
|
hashtag: رابطة هاشتاق
|
14
14
|
hero_image: الصورة الرئيسية
|
15
|
-
|
15
|
+
participatory_processes_ids: العمليات التشاركية ذات الصلة
|
16
|
+
promoted: سلط الضوء
|
16
17
|
published_at: نشرت في
|
17
18
|
scope_id: نطاق
|
18
19
|
scopes_enabled: تم تمكين النطاقات
|
19
20
|
short_description: وصف قصير
|
20
|
-
show_statistics: عرض
|
21
|
+
show_statistics: عرض الإحصائيات
|
21
22
|
slogan: شعار
|
22
|
-
slug: سبيكة
|
23
|
+
slug: سبيكة العنوان الشبكي
|
23
24
|
title: عنوان
|
24
25
|
conference_speaker:
|
25
26
|
full_name: الاسم الكامل
|
@@ -67,21 +68,55 @@ ar:
|
|
67
68
|
copy: نسخ
|
68
69
|
select: حدد البيانات التي ترغب في تكرارها
|
69
70
|
title: مؤتمر مكرر
|
71
|
+
conference_publications:
|
72
|
+
create:
|
73
|
+
error: كانت هناك مشكلة في نشر هذا المؤتمر.
|
74
|
+
success: تم نشر المؤتمر بنجاح.
|
75
|
+
destroy:
|
76
|
+
error: كانت هناك مشكلة في إلغاء نشر هذا المؤتمر.
|
77
|
+
success: مؤتمر غير منشور بنجاح.
|
78
|
+
conference_registration:
|
79
|
+
confirm:
|
80
|
+
error: حدثت مشكلة في تأكيد تسجيل المؤتمر هذا.
|
81
|
+
success: تم تأكيد تسجيل المؤتمر بنجاح.
|
70
82
|
conference_speakers:
|
83
|
+
create:
|
84
|
+
error: حدثت مشكلة أثناء إضافة متحدث إلى هذا المؤتمر.
|
85
|
+
success: رئيس المؤتمر تم إنشاؤه بنجاح.
|
86
|
+
destroy:
|
87
|
+
success: تم حذف رئيس المؤتمر بنجاح.
|
71
88
|
edit:
|
72
89
|
title: تحديث المتحدث المؤتمر.
|
73
90
|
update: تحديث
|
74
91
|
index:
|
75
92
|
conference_speakers_title: المتحدثون في المؤتمر
|
76
93
|
new:
|
77
|
-
create:
|
94
|
+
create: إنشاء
|
78
95
|
title: رئيس المؤتمر الجديد.
|
96
|
+
update:
|
97
|
+
error: حدثت مشكلة أثناء تحديث متحدث المؤتمر هذا.
|
98
|
+
success: تم تحديث مكبر صوت المؤتمر بنجاح.
|
79
99
|
conference_user_roles:
|
100
|
+
create:
|
101
|
+
error: حدثت مشكلة أثناء إضافة مشرف إلى هذا المؤتمر.
|
102
|
+
success: تمت إضافة مسؤول المؤتمر بنجاح.
|
103
|
+
destroy:
|
104
|
+
success: تمت إزالة مسؤول المؤتمر بنجاح.
|
80
105
|
edit:
|
106
|
+
title: تحديث مسؤول المؤتمر.
|
81
107
|
update: تحديث
|
108
|
+
index:
|
109
|
+
conference_admins_title: مدراء المؤتمر
|
82
110
|
new:
|
83
|
-
create:
|
111
|
+
create: إنشاء
|
112
|
+
title: مشرف المؤتمر الجديد.
|
113
|
+
update:
|
114
|
+
error: حدثت مشكلة أثناء تحديث مشرف المؤتمر هذا.
|
115
|
+
success: تم تحديث مشرف المؤتمر بنجاح.
|
84
116
|
conferences:
|
117
|
+
create:
|
118
|
+
error: كانت هناك مشكلة في إنشاء هذا المؤتمر.
|
119
|
+
success: تم إنشاء المؤتمر بنجاح.
|
85
120
|
edit:
|
86
121
|
update: تحديث
|
87
122
|
exports:
|
@@ -92,17 +127,32 @@ ar:
|
|
92
127
|
not_published: غير منشور
|
93
128
|
published: نشرت
|
94
129
|
new:
|
95
|
-
create:
|
130
|
+
create: إنشاء
|
96
131
|
title: مؤتمر
|
132
|
+
update:
|
133
|
+
error: حدثت مشكلة أثناء تحديث هذا المؤتمر.
|
134
|
+
success: تم تحديث المؤتمر بنجاح.
|
135
|
+
conferences_copies:
|
136
|
+
create:
|
137
|
+
error: كانت هناك مشكلة في تكرار هذا المؤتمر.
|
138
|
+
success: تم تكرار المؤتمر بنجاح.
|
97
139
|
media_links:
|
140
|
+
create:
|
141
|
+
error: حدثت مشكلة أثناء إنشاء رابط وسائط جديد.
|
142
|
+
success: تم إنشاء رابط الوسائط بنجاح.
|
143
|
+
destroy:
|
144
|
+
success: تم حذف رابط الوسائط بنجاح.
|
98
145
|
edit:
|
99
146
|
title: تحديث رابط الوسائط.
|
100
147
|
update: تحديث
|
101
148
|
index:
|
102
149
|
media_links_title: روابط الوسائط
|
103
150
|
new:
|
104
|
-
create:
|
151
|
+
create: إنشاء
|
105
152
|
title: وصلة الوسائط
|
153
|
+
update:
|
154
|
+
error: حدثت مشكلة أثناء تحديث رابط الوسائط هذا.
|
155
|
+
success: تم تحديث رابط الوسائط بنجاح.
|
106
156
|
menu:
|
107
157
|
conferences: المؤتمرات
|
108
158
|
conferences_submenu:
|
@@ -125,6 +175,7 @@ ar:
|
|
125
175
|
conference:
|
126
176
|
fields:
|
127
177
|
created_at: أنشئت في
|
178
|
+
promoted: سلط الضوء
|
128
179
|
published: نشرت
|
129
180
|
title: عنوان
|
130
181
|
conference_speaker:
|
@@ -138,6 +189,7 @@ ar:
|
|
138
189
|
email: البريد الإلكتروني
|
139
190
|
name: اسم
|
140
191
|
role: وظيفة
|
192
|
+
name: إدارة المؤتمر
|
141
193
|
roles:
|
142
194
|
admin: مدير
|
143
195
|
collaborator: متعاون
|
@@ -167,41 +219,66 @@ ar:
|
|
167
219
|
weight: وزن
|
168
220
|
name: نوع التسجيل
|
169
221
|
partners:
|
222
|
+
create:
|
223
|
+
error: حدثت مشكلة أثناء إضافة شريك لهذا المؤتمر.
|
224
|
+
success: وأضاف شريك المؤتمر بنجاح.
|
225
|
+
destroy:
|
226
|
+
success: تمت إزالة شريك المؤتمر بنجاح.
|
170
227
|
edit:
|
171
228
|
title: تحديث شريك.
|
172
229
|
update: تحديث
|
173
230
|
new:
|
174
|
-
create:
|
231
|
+
create: إنشاء
|
175
232
|
title: شريك جديد
|
233
|
+
update:
|
234
|
+
error: حدثت مشكلة أثناء تحديث شريك لهذا المؤتمر.
|
235
|
+
success: تم تحديث شريك المؤتمر بنجاح.
|
236
|
+
registration_type_publications:
|
237
|
+
create:
|
238
|
+
error: حدثت مشكلة أثناء نشر نوع التسجيل هذا.
|
239
|
+
success: نوع التسجيل نشر بنجاح.
|
240
|
+
destroy:
|
241
|
+
error: حدثت مشكلة في إلغاء نشر نوع التسجيل هذا.
|
242
|
+
success: نوع التسجيل غير منشور بنجاح.
|
176
243
|
registration_types:
|
244
|
+
create:
|
245
|
+
error: حدثت مشكلة أثناء إضافة نوع التسجيل لهذا المؤتمر.
|
246
|
+
success: تمت إضافة نوع تسجيل المؤتمر بنجاح.
|
247
|
+
destroy:
|
248
|
+
success: تمت إزالة نوع تسجيل المؤتمر بنجاح.
|
177
249
|
edit:
|
178
250
|
title: تحديث نوع التسجيل.
|
179
251
|
update: تحديث
|
180
252
|
new:
|
181
|
-
create:
|
253
|
+
create: إنشاء
|
182
254
|
title: نوع التسجيل الجديد
|
255
|
+
update:
|
256
|
+
error: حدثت مشكلة أثناء تحديث نوع التسجيل لهذا المؤتمر.
|
257
|
+
success: تم تحديث نوع تسجيل المؤتمر بنجاح.
|
183
258
|
titles:
|
184
259
|
conferences: المؤتمرات
|
185
260
|
admin_log:
|
186
261
|
conference:
|
187
|
-
create: "%{user_name}
|
262
|
+
create: "%{user_name} أنشأ المؤتمر %{resource_name}"
|
188
263
|
publish: "%{user_name} نشر المؤتمر %{resource_name}"
|
189
264
|
send_conference_diplomas: "أرسلت %{user_name} شهادات حضور إلى %{resource_name} atendees المؤتمر"
|
190
265
|
unpublish: "%{user_name} غير منشور في المؤتمر %{resource_name}"
|
191
266
|
update: "%{user_name} تحديث المؤتمر %{resource_name}"
|
192
267
|
update_diploma: "%{user_name} تحديث شهادات تكوين الحضور لمؤتمر %{resource_name}"
|
193
268
|
conference_speaker:
|
194
|
-
create: "%{user_name}
|
269
|
+
create: "%{user_name} أنشأ المتكلم %{resource_name} في المؤتمر %{space_name}"
|
195
270
|
delete: "%{user_name} أزال المتحدث %{resource_name} من المؤتمر %{space_name}"
|
196
271
|
update: "%{user_name} تحديث المتكلم %{resource_name} في المؤتمر %{space_name}"
|
197
272
|
conference_user_role:
|
198
273
|
create: "%{user_name} دعا %{resource_name} إلى %{space_name} المؤتمر"
|
274
|
+
delete: "%{user_name} أزال المشرف %{resource_name} من المؤتمر %{space_name}"
|
199
275
|
update: "%{user_name} غير دور %{resource_name} في المؤتمر %{space_name}"
|
200
276
|
conferences:
|
201
277
|
conference_registration:
|
202
278
|
confirm: "%{user_name} أكد تسجيل مؤتمر في مؤتمر %{resource_name}"
|
203
279
|
partner:
|
204
|
-
create: "%{user_name}
|
280
|
+
create: "%{user_name} أنشأ %{resource_name} إلى %{space_name} المؤتمر"
|
281
|
+
delete: "%{user_name} أزال المشرف %{resource_name} من المؤتمر %{space_name}"
|
205
282
|
update: "%{user_name} محدث %{resource_name} في المؤتمر %{space_name}"
|
206
283
|
registration_type:
|
207
284
|
create: "%{user_name} أنشأ نوع التسجيل %{resource_name} في المؤتمر %{space_name}"
|
@@ -224,8 +301,15 @@ ar:
|
|
224
301
|
form:
|
225
302
|
slug_help: 'يتم استخدام slugs URL لإنشاء عناوين URL التي تشير إلى هذا المؤتمر. يقبل الحروف والأرقام والشرطات فقط ، ويجب أن يبدأ بحرف. مثال: %{url}'
|
226
303
|
conference_invites:
|
304
|
+
create:
|
305
|
+
error: حدثت مشكلة أثناء دعوة المشارك للانضمام إلى المؤتمر.
|
306
|
+
success: تمت دعوة المشارك بنجاح للانضمام إلى المؤتمر.
|
227
307
|
form:
|
228
308
|
attendee_type: نوع الحضور
|
309
|
+
existing_user: المشارك الحالي
|
310
|
+
invite_explanation: سيتم دعوة المشارك للانضمام إلى المؤتمر وإلى المنظمة أيضًا.
|
311
|
+
non_user: مشارك غير موجود
|
312
|
+
select_user: اختر المشارك
|
229
313
|
index:
|
230
314
|
filter:
|
231
315
|
accepted: وافقت
|
@@ -233,18 +317,22 @@ ar:
|
|
233
317
|
rejected: مرفوض
|
234
318
|
sent: أرسلت
|
235
319
|
filter_by: مصنف بواسطة
|
320
|
+
invite_attendee: دعوة مشارك
|
236
321
|
invites: تدعو
|
237
322
|
search: بحث
|
238
323
|
new:
|
324
|
+
explanation: سيدعى المشارك للانضمام إلى مؤتمر. إذا لم يتم تسجيل بريدها الإلكتروني ، فستتم دعوتها إلى المنظمة أيضًا.
|
239
325
|
invite: دعا
|
240
|
-
new_invite: دعوة
|
326
|
+
new_invite: دعوة مشارك
|
241
327
|
conference_registrations:
|
242
328
|
index:
|
243
329
|
registrations: التسجيلات
|
244
330
|
conference_speakers:
|
245
331
|
form:
|
246
|
-
|
247
|
-
|
332
|
+
existing_user: المشارك الحالي
|
333
|
+
non_user: غير مشارك
|
334
|
+
select_user: اختر المشارك
|
335
|
+
user_type: نوع المشارك
|
248
336
|
index:
|
249
337
|
search: بحث
|
250
338
|
conferences:
|
@@ -282,12 +370,16 @@ ar:
|
|
282
370
|
attendance_verified_by: تم التحقق من الحضور بواسطة
|
283
371
|
certificate_of_attendance: شهادة حضور
|
284
372
|
certificate_of_attendance_description: هذا هو التأكيد على أن <strong>%{user}</strong> قد حضر وشارك في <strong>%{title}</strong> الذي عقد في <strong>%{location}</strong> في <strong>%{start} - %{end}</strong>
|
373
|
+
send_diploma:
|
374
|
+
error: حدثت مشكلة أثناء إرسال شهادات حضور المؤتمر.
|
375
|
+
success: تم إرسال شهادات حضور المؤتمر بنجاح
|
285
376
|
conference:
|
286
377
|
registration_confirm:
|
287
378
|
cancel: إلغاء
|
288
379
|
confirm: تؤكد
|
289
380
|
show:
|
290
381
|
free: حر
|
382
|
+
going: حضور
|
291
383
|
no_slots_available: لا فتحات المتاحة
|
292
384
|
registration: التسجيل
|
293
385
|
conference_program:
|
@@ -306,15 +398,26 @@ ar:
|
|
306
398
|
pending_validation:
|
307
399
|
confirmation_pending: سوف تتلقى التأكيد قريبا
|
308
400
|
details: 'لقد قمت بالتسجيل إلى %{registration_type} نوع بتكلفة %{price} ويمكنك حضور الأحداث التالية:'
|
401
|
+
pending_html: تسجيلك في المؤتمر <a href="%{url}">%{title}</a> انتظار التأكيد.
|
402
|
+
conference_registrations:
|
403
|
+
create:
|
404
|
+
invalid: كانت هناك مشكلة في الانضمام إلى هذا المؤتمر.
|
405
|
+
success: لقد انضممت بنجاح إلى المؤتمر.
|
406
|
+
decline_invitation:
|
407
|
+
invalid: حدثت مشكلة في رفض الدعوة.
|
408
|
+
success: لقد رفضت الدعوة بنجاح.
|
409
|
+
destroy:
|
410
|
+
invalid: حدثت مشكلة أثناء مغادرة هذا المؤتمر.
|
411
|
+
success: لقد تركت المؤتمر بنجاح.
|
309
412
|
conference_speaker:
|
310
413
|
go_to_twitter: انتقل إلى تويتر
|
311
414
|
more_info: مزيد من المعلومات
|
312
|
-
personal_website: موقع
|
415
|
+
personal_website: موقع الويب الشخصي
|
313
416
|
show:
|
314
417
|
more_info: مزيد من المعلومات
|
315
418
|
conference_speaker_cell:
|
316
419
|
personal_url:
|
317
|
-
personal_website: موقع
|
420
|
+
personal_website: موقع الويب الشخصي
|
318
421
|
twitter_handle:
|
319
422
|
go_to_twitter: انتقل إلى تويتر
|
320
423
|
conference_speakers:
|
@@ -337,6 +440,8 @@ ar:
|
|
337
440
|
conference_registration_mailer:
|
338
441
|
confirmation:
|
339
442
|
subject: تم تأكيد تسجيل مؤتمرك
|
443
|
+
pending_validation:
|
444
|
+
subject: تسجيل مؤتمرك في انتظار التأكيد
|
340
445
|
invite_join_conference_mailer:
|
341
446
|
invite:
|
342
447
|
subject: دعوة للانضمام إلى مؤتمر
|
@@ -360,6 +465,7 @@ ar:
|
|
360
465
|
email: البريد الإلكتروني
|
361
466
|
name: اسم
|
362
467
|
registration_type: نوع التسجيل
|
468
|
+
state: الحالة
|
363
469
|
states:
|
364
470
|
confirmed: تم تأكيد
|
365
471
|
pending: قيد الانتظار
|
@@ -374,7 +480,7 @@ ar:
|
|
374
480
|
photo: صورة
|
375
481
|
photos_list:
|
376
482
|
show:
|
377
|
-
related_photos:
|
483
|
+
related_photos: صور
|
378
484
|
registration_types:
|
379
485
|
index:
|
380
486
|
choose_an_option: 'اختر خيار التسجيل الخاص بك:'
|
@@ -392,6 +498,7 @@ ar:
|
|
392
498
|
objectives: الأهداف
|
393
499
|
related_assemblies: الجمعيات ذات الصلة
|
394
500
|
related_consultations: المشاورات ذات الصلة
|
501
|
+
related_participatory_processes: العمليات التشاركية ذات الصلة
|
395
502
|
statistics:
|
396
503
|
answers_count: الأجوبة
|
397
504
|
comments_count: تعليقات
|
@@ -400,7 +507,7 @@ ar:
|
|
400
507
|
endorsements_count: موافقات
|
401
508
|
headline: نشاط
|
402
509
|
meetings_count: اجتماعات
|
403
|
-
orders_count:
|
510
|
+
orders_count: الدعم
|
404
511
|
pages_count: صفحات
|
405
512
|
posts_count: المشاركات
|
406
513
|
projects_count: مشاريع
|
@@ -408,13 +515,13 @@ ar:
|
|
408
515
|
results_count: النتائج
|
409
516
|
surveys_count: الدراسات الاستقصائية
|
410
517
|
users_count: المشاركين
|
411
|
-
votes_count:
|
518
|
+
votes_count: الدعم
|
412
519
|
events:
|
413
520
|
conferences:
|
414
|
-
conference_registration_validation_pending:
|
415
|
-
notification_title: تسجيلك في المؤتمر <a href="%{resource_url}">%{resource_title}</a> انتظار التأكيد.
|
416
521
|
conference_registration_confirmed:
|
417
522
|
notification_title: تم تأكيد تسجيلك للمؤتمر <a href="%{resource_url}">%{resource_title}</a>.
|
523
|
+
conference_registration_validation_pending:
|
524
|
+
notification_title: تسجيلك في المؤتمر <a href="%{resource_url}">%{resource_title}</a> انتظار التأكيد.
|
418
525
|
conference_registrations_over_percentage:
|
419
526
|
email_intro: فتحات "%{resource_title}" التي شغلها المؤتمر تجاوزت %{percentage}٪.
|
420
527
|
email_outro: لقد تلقيت هذا الإشعار لأنك مسؤول عن المساحة التشاركية للمؤتمر.
|
@@ -458,7 +565,10 @@ ar:
|
|
458
565
|
take_part: خذ جزء
|
459
566
|
conferences:
|
460
567
|
conference:
|
568
|
+
more_info: مزيد من المعلومات
|
461
569
|
take_part: خذ جزء
|
570
|
+
index:
|
571
|
+
promoted_conferences: المؤتمرات البارزة
|
462
572
|
order_by_conferences:
|
463
573
|
conferences:
|
464
574
|
zero: "%{count} مؤتمرات"
|