decidim-meetings 0.26.5 → 0.26.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34983e307fe7c41349984c0c3422e84247c750b9df85b95ebeefacc0ac05c338
4
- data.tar.gz: 4ddf72969076dce44f4dc31ecf47dff6832581a76ec0cf3df095c009ecdb22aa
3
+ metadata.gz: 2d14f27884cacd322a63c5ea75582f086d3067aadb7259f023eb0418971e61b3
4
+ data.tar.gz: 5b30c43af75e840f4af15ed9ff59e9eb6ea36776cd907e504c9309b1c728b4cb
5
5
  SHA512:
6
- metadata.gz: 2ab072633a6503601c8095f9a1444c81568a0c6eedef736f4cb3681e8668690f21bddafcd2cbba12ef7774c5823ba3efc08c1da3a50a165ed4601a6578332711
7
- data.tar.gz: 5a80399af3317c7086f9b04b5c1fb43baaaf439778f79174ace0e4504d3883beb0c1c6431fbd9d1b055360c6e27700e84dea29299e5ad6750e9290e66f441365
6
+ metadata.gz: 4585987697c2629a40dabbdcb5509157b9d113e0af231fb8b52d0e73935c72f3790c11ad8212e291d7d188e67190427987238b796b3e1360da3e6947d3181fe8
7
+ data.tar.gz: 3c86c3b8ccc2fc6b28ba47d33010e93ba75181547457dcd280822ecfd04236d43b88eb80f32fecc2b7634a13aa6c9e460faaca6ad41828529d7225a903cd98e7
@@ -53,6 +53,7 @@ module Decidim
53
53
  transparent: form.transparent,
54
54
  author: form.current_organization,
55
55
  registration_terms: form.current_component.settings.default_registration_terms,
56
+ registrations_enabled: form.registrations_enabled,
56
57
  component: form.current_component,
57
58
  questionnaire: Decidim::Forms::Questionnaire.new,
58
59
  customize_registration_email: form.customize_registration_email,
@@ -26,7 +26,7 @@ module Decidim
26
26
 
27
27
  transaction do
28
28
  publish_meeting
29
- send_notification
29
+ send_notification unless meeting.previously_published?
30
30
  schedule_upcoming_meeting_notification
31
31
  end
32
32
 
@@ -52,6 +52,7 @@ module Decidim
52
52
  registration_type: form.registration_type,
53
53
  registration_url: form.registration_url,
54
54
  available_slots: form.available_slots,
55
+ registrations_enabled: form.registrations_enabled,
55
56
  type_of_meeting: form.clean_type_of_meeting,
56
57
  address: form.address,
57
58
  latitude: form.latitude,
@@ -13,6 +13,7 @@ module Decidim
13
13
  attribute :private_meeting, Boolean
14
14
  attribute :transparent, Boolean
15
15
  attribute :registration_type, String
16
+ attribute :registrations_enabled, Boolean, default: false
16
17
  attribute :registration_url, String
17
18
  attribute :available_slots, Integer, default: 0
18
19
  attribute :customize_registration_email, Boolean
@@ -135,6 +136,10 @@ module Decidim
135
136
  end
136
137
  end
137
138
 
139
+ def registrations_enabled
140
+ on_this_platform?
141
+ end
142
+
138
143
  def embeddable_meeting_url
139
144
  if online_meeting_url.present? && %w(embed_in_meeting_page open_in_live_event_page).include?(iframe_embed_type)
140
145
  embedder_service = Decidim::Meetings::MeetingIframeEmbedder.new(online_meeting_url)
@@ -60,12 +60,23 @@ module Decidim
60
60
  # frontend, the meeting body is considered as safe content; that's unless
61
61
  # the meeting comes from a collaborative_draft or a participatory_text.
62
62
  def safe_content?
63
- rich_text_editor_in_public_views? || @meeting.official?
63
+ rich_text_editor_in_public_views? || safe_content_admin?
64
+ end
65
+
66
+ # For admin entered content, the meeting body can contain certain extra
67
+ # tags, such as iframes.
68
+ def safe_content_admin?
69
+ @meeting.official?
64
70
  end
65
71
 
66
72
  # If the content is safe, HTML tags are sanitized, otherwise, they are stripped.
67
73
  def render_meeting_body(meeting)
68
- Decidim::ContentProcessor.render(render_sanitized_content(meeting, :description), "div")
74
+ sanitized = render_sanitized_content(meeting, :description)
75
+ if safe_content?
76
+ Decidim::ContentProcessor.render_without_format(sanitized).html_safe
77
+ else
78
+ Decidim::ContentProcessor.render(sanitized, "div")
79
+ end
69
80
  end
70
81
 
71
82
  def prevent_timeout_seconds
@@ -31,12 +31,7 @@ module Decidim
31
31
  def description(links: false, extras: true, strip_tags: false, all_locales: false)
32
32
  return unless meeting
33
33
 
34
- new_description = handle_locales(meeting.description, all_locales) do |content|
35
- renderer = Decidim::ContentRenderers::HashtagRenderer.new(sanitized(content))
36
- renderer.render(links: links).html_safe
37
- end
38
-
39
- content_handle_locale(new_description, all_locales, extras, links, strip_tags)
34
+ content_handle_locale(meeting.description, all_locales, extras, links, strip_tags)
40
35
  end
41
36
 
42
37
  def location(all_locales: false)
@@ -42,7 +42,7 @@
42
42
  </div>
43
43
 
44
44
  <div class="row column">
45
- <%= form.translated :editor, :registration_terms %>
45
+ <%= form.translated :editor, :registration_terms, toolbar: :content %>
46
46
  </div>
47
47
  </div>
48
48
  </div>
@@ -14,7 +14,7 @@
14
14
  <%= meeting.start_time.strftime("%H:%M") %> - <%= meeting.end_time.strftime("%H:%M") %>
15
15
  </div>
16
16
  </div>
17
- <%= decidim_sanitize_editor(present(meeting).description) %>
17
+ <%= decidim_sanitize_editor present(meeting).description(strip_tags: true) %>
18
18
  </div>
19
19
  </div>
20
20
  </div>
@@ -4,27 +4,58 @@ ar:
4
4
  close_meeting:
5
5
  attendees_count: عدد الحضور
6
6
  attending_organizations: قائمة المنظمات التي حضرت
7
+ audio_url: عنوان URL السمعي
7
8
  closing_report: الدقائق
8
9
  closing_visible: مرئي
9
10
  contributions_count: عدد المساهمات
10
11
  proposal_ids: المقترحات التي تم إنشاؤها في الاجتماع
12
+ video_url: عنوان URL الفيديو
11
13
  meeting:
12
14
  address: عنوان
13
15
  available_slots: فتحات المتاحة لهذا الاجتماع
16
+ customize_registration_email: تخصيص بريد التسجيل الإلكتروني
14
17
  decidim_category_id: الفئة
15
18
  decidim_scope_id: نطاق
19
+ decidim_user_group_id: مجموعة مستخدم
16
20
  description: وصف
21
+ end_time: وقت الانتهاء
22
+ id: المعرف ID
23
+ iframe_embed_type: نوع تضمين الاطار Iframe
17
24
  location: موقعك
18
25
  location_hints: تلميحات الموقع
26
+ online_meeting_url: رابط URL للاجتماع عبر الانترنت
27
+ organizer_gid: قم بالإنشاء كَ
19
28
  organizer_id: منظم
20
29
  private_meeting: اجتماع خاص
30
+ registration_email_custom_content: المحتوى المخصص لتسجيل البريد الإلكتروني
21
31
  registration_form_enabled: تم تمكين نموذج التسجيل
22
32
  registration_terms: شروط التسجيل
33
+ registration_type: نوع التسجيل
34
+ registration_url: رابط URL التسجيل
23
35
  registrations_enabled: تم تمكين التسجيلات
36
+ reserved_slots: خانات محجوزة لهذا الاجتماع
37
+ start_time: وقت البدء
24
38
  title: عنوان
25
39
  transparent: شفاف
40
+ type_of_meeting: النوع
41
+ meeting_agenda:
42
+ title: عنوان
43
+ visible: مرئي
44
+ meeting_agenda_items:
45
+ description: الوصف
46
+ duration: المدة الزمنية
47
+ title: العنوان
48
+ meeting_registration_invite:
49
+ email: البريد الإلكتروني
50
+ name: الإسم
51
+ validate_registration_code:
52
+ code: الرمز
26
53
  errors:
27
54
  models:
55
+ meeting:
56
+ attributes:
57
+ iframe_embed_type:
58
+ not_embeddable: لا يمكن تضمين عنوان URL هذا في صفحة الاجتماع أو الحدث المباشر
28
59
  meeting_agenda:
29
60
  attributes:
30
61
  base:
@@ -70,14 +101,30 @@ ar:
70
101
  meetings:
71
102
  category_id_eq:
72
103
  label: الفئة
104
+ closed_at_present:
105
+ label: الحالة
106
+ values:
107
+ 'false': مفتوح
108
+ 'true': مغلق
109
+ is_upcoming_true:
110
+ label: التاريخ
111
+ values:
112
+ 'false': السابق
113
+ 'true': القادم
73
114
  origin_eq:
115
+ label: الأصل
74
116
  values:
75
117
  citizen: المواطن
118
+ official: رسمي
76
119
  user_group: مجموعات المستخدمين
120
+ scope_id_eq:
121
+ label: نطاق
77
122
  type_eq:
78
123
  label: نوع الاجتماع
79
124
  values:
125
+ hybrid: هجين
80
126
  in_person: وجهًا لوجه
127
+ online: على الإنترنت
81
128
  meeting_copies:
82
129
  create:
83
130
  error: كانت هناك مشكلة في تكرار هذا الاجتماع.
@@ -89,18 +136,28 @@ ar:
89
136
  components:
90
137
  meetings:
91
138
  actions:
139
+ comment: تعليق
92
140
  join: انضم
93
141
  name: اجتماعات
94
142
  settings:
95
143
  global:
96
144
  announcement: إعلان
97
145
  comments_enabled: تم تمكين التعليقات
146
+ comments_max_length: الحد الأقصى لطول التعليقات (اترك 0 لاستعمال القيمة الافتراضية)
147
+ creation_enabled_for_participants: يمكن للمشاركين إنشاء اجتماعات
98
148
  default_registration_terms: شروط التسجيل الافتراضية
99
149
  enable_pads_creation: تمكين إنشاء منصات
150
+ maps_enabled: تم تمكين الخرائط
151
+ registration_code_enabled: تم تمكين رمز التسجيل
100
152
  resources_permissions_enabled: يمكن تعيين أذونات الإجراءات لكل اجتماع
153
+ scope_id: نطاق
154
+ scopes_enabled: النطاقات مفعلة
155
+ terms_and_conditions_url_for_meeting_creators: أحكام وشروط عناوين URL لمنشئي الاجتماع
101
156
  step:
102
157
  announcement: إعلان
103
158
  comments_blocked: تم حظر التعليقات
159
+ creation_enabled_for_participants: تم تمكين إنشاء الاجتماع بواسطة المشاركين
160
+ creation_enabled_for_user_groups: تم تمكين إنشاء الاجتماع بواسطة مجموعات المستخدم
104
161
  events:
105
162
  meetings:
106
163
  meeting_closed:
@@ -110,10 +167,12 @@ ar:
110
167
  email_subject: لقد تم اغلاق الملتقى "%{resource_title}"
111
168
  notification_title: لقد تم إغلاق الملتقى <a href="%{resource_path}">%{resource_title}</a>.
112
169
  follower:
170
+ email_intro: 'تم إغلاق اجتماع %{resource_title}. يمكنك قراءة المستخلصات على الصفحة الخاصة به:'
113
171
  email_outro: لقد تلقيت هذا الإشعار لأنك تتابع اجتماع "%{resource_title}". يمكنك إلغاء تتبعه من الرابط السابق.
114
172
  email_subject: لقد تم اغلاق الملتقى "%{resource_title}"
115
173
  notification_title: لقد تم إغلاق الملتقى <a href="%{resource_path}">%{resource_title}</a>.
116
174
  meeting_created:
175
+ button_text: التسجيل في الاجتماع
117
176
  email_intro: تمت إضافة الاجتماع "%{resource_title}" إلى "%{participatory_space_title}" الذي تتابعه.
118
177
  email_outro: لقد تلقيت هذا الإشعار لأنك تتابع "%{participatory_space_title}". يمكنك إلغاء تتبعه من الرابط السابق.
119
178
  email_subject: تمت إضافة اجتماع جديد إلى %{participatory_space_title}
@@ -145,6 +204,9 @@ ar:
145
204
  email_outro: لقد تلقيت هذا الإشعار لأنك تتابع اجتماع "%{resource_title}". يمكنك إلغاء تتبعه من الرابط السابق.
146
205
  email_subject: سيبدأ الاجتماع "%{resource_title}" في أقل من 48 ساعة.
147
206
  notification_title: سيبدأ الاجتماع <a href="%{resource_path}">%{resource_title}</a> في أقل من 48 ساعة.
207
+ forms:
208
+ meetings:
209
+ attendees_count_help_text: لا تنسى أن تضمّن العدد الإجمالي للحضور في اجتماعك، سواء كانوا حاضرين شخصياً، أو على الإنترنت أو بطريقة هجينة.
148
210
  gamification:
149
211
  badges:
150
212
  attended_meetings:
@@ -166,6 +228,15 @@ ar:
166
228
  confirm_destroy: هل أنت متأكد أنك تريد حذف هذا الاجتماع؟
167
229
  destroy: حذف
168
230
  edit: تعديل
231
+ invalid_destroy:
232
+ proposals_count:
233
+ zero: 'لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به:'
234
+ one: 'لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراح مرتبط به:'
235
+ two: 'لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحين مرتبطين به:'
236
+ few: 'لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به:'
237
+ many: 'لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به:'
238
+ other: 'لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به:'
239
+ manage_poll: إدارة الاستطلاع
169
240
  new: اجتماع جديد
170
241
  preview: معاينة
171
242
  registrations: التسجيلات
@@ -202,6 +273,8 @@ ar:
202
273
  invalid: حدثت مشكلة أثناء تحديث جدول الأعمال هذا
203
274
  success: تم تحديث جدول الأعمال بنجاح
204
275
  exports:
276
+ answers: الأجوبة
277
+ meeting_comments: التعليقات
205
278
  meetings: اجتماعات
206
279
  registrations: التسجيلات
207
280
  invite_join_meeting_mailer:
@@ -241,17 +314,40 @@ ar:
241
314
  success: تم إغلاق الاجتماع بنجاح
242
315
  create:
243
316
  invalid: كانت هناك مشكلة في إنشاء هذا الاجتماع
317
+ success: تم إنشاء الاجتماع بنجاح. لاحظ أن هذا غير منشور حتى الآن، تحتاج إلى نشره بنفسك.
244
318
  destroy:
319
+ invalid:
320
+ proposals_count:
321
+ zero: لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به
322
+ one: لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراح مرتبط به
323
+ two: لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحين مرتبطين به
324
+ few: لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به
325
+ many: لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به
326
+ other: لا يمكن حذف هذا الاجتماع لأنه يحتوي على %{count} اقتراحات مرتبطة به
245
327
  success: تم حذف الاجتماع بنجاح
246
328
  edit:
329
+ title: تعديل الاجتماعات
247
330
  update: تحديث
248
331
  form:
332
+ address_help: 'العنوان: مستخدم من قبل Geocoder للعثور على الموقع'
333
+ available_slots_help: تركه على 0 إذا كان لديك أعدد غير محدود من الأماكن الشاغرة
334
+ disclaimer: 'إخلاء المسؤولية: باستخدام نظام تسجيل خارجي، أنت على علم بأن منظمي %{organization} ليسوا مسؤولين عن البيانات المقدمة من المستخدمين إلى الخدمة الخارجية.'
335
+ location_help: 'الموقع: رسالة موجهة إلى المستخدمين تعني المكان للالتقاء به في'
336
+ location_hints_help: 'توضيح حول الموقع: معلومات إضافية. على سبيل المثال: إدراج طابق المبنى في حال كان الاجتماع شخصيا، أو كلمة مرور الاجتماع إذا كان اجتماعا على الإنترنت يحتوي على تقييد الدخول.'
337
+ online_meeting_url_help: 'الرابط: السماح للمشاركين بالاتصال مباشرة باجتماعك'
249
338
  registration_email_help: سيظهر هذا النص في منتصف البريد الإلكتروني الخاص بتأكيد التسجيل مباشرة بعد رمز التسجيل.
339
+ registration_url_help: 'الرابط: يتيح للمشاركين استخدام الخدمة الخارجية التي تستخدمها للتسجيل'
340
+ select_a_meeting_type: الرجاء تحديد نوع الاجتماع
341
+ select_a_registration_type: الرجاء تحديد نوع التسجيل
342
+ select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
250
343
  index:
251
344
  title: اجتماعات
252
345
  new:
253
346
  create: إنشاء
254
347
  title: إنشاء اجتماع
348
+ publish:
349
+ invalid: طرأت مشكلة أثناء نشر هذا الاجتماع
350
+ success: تم نشر الاجتماع بنجاح
255
351
  service:
256
352
  description: وصف
257
353
  down: أسفل
@@ -262,9 +358,18 @@ ar:
262
358
  services:
263
359
  add_service: إضافة الخدمة
264
360
  services: خدمات
361
+ unpublish:
362
+ invalid: طرأت مشكلة أثناء إلغاء نشر هذا الاجتماع
363
+ success: تم الغاء نشر الاجتماع بنجاح
265
364
  update:
266
365
  invalid: حدثت مشكلة أثناء تحديث هذا الاجتماع
267
366
  success: تم تحديث الاجتماع بنجاح
367
+ meetings_poll:
368
+ form:
369
+ title: تعديل استبيان الاستطلاع لـ %{questionnaire_for}
370
+ update:
371
+ invalid: طرأت مشكلة خلال تحديث استطلاع الرأي هذا
372
+ success: تم تحديث استطلاع الرأي الخاص بالاجتماع بنجاح
268
373
  models:
269
374
  meeting:
270
375
  name: لقاء
@@ -276,6 +381,7 @@ ar:
276
381
  form:
277
382
  available_slots_help: اتركه إلى 0 إذا كان لديك فتحات غير محدودة المتاحة.
278
383
  invites: دعوات
384
+ recommendation_message: لأسباب تتعلق بالخصوصية، نوصي بحذف نموذج التسجيل هذا حالما انتهيت منه. ويكون هذا تلقائياً بعد ثلاثة أشهر من انتهاء الاجتماع.
279
385
  registration_form: إستمارة تسجيل
280
386
  registrations_count:
281
387
  zero: كان هناك %{count} التسجيلات.
@@ -310,6 +416,10 @@ ar:
310
416
  application_helper:
311
417
  filter_category_values:
312
418
  all: الكل
419
+ filter_meeting_space_values:
420
+ all: الكل
421
+ filter_scope_values:
422
+ all: الكل
313
423
  calendar_modal:
314
424
  calendar_url: العنوان الشبكي للتقويم
315
425
  close_window: أغلق النافذة
@@ -317,14 +427,30 @@ ar:
317
427
  conference_venues: أماكن المؤتمر
318
428
  content_blocks:
319
429
  upcoming_meetings:
430
+ name: الاجتماعات المقبلة
431
+ upcoming_meetings: الاجتماعات المقبلة
320
432
  view_all_meetings: عرض الكل
321
433
  directory:
322
434
  meetings:
323
435
  index:
324
436
  meetings: اجتماعات
325
437
  space_type: الفضاء التشاركي
438
+ iframe_access_level:
439
+ all: جميع الزوار
440
+ registered: المشاركون المسجلون في هذا الاجتماع
441
+ signed_in: للمشاركين المسجلين فقط
442
+ iframe_embed_type:
443
+ embed_in_meeting_page: تضمين في صفحة الاجتماع
444
+ none: بلا
445
+ open_in_live_event_page: فتح في صفحة الحدث المباشر (مع استطلاعات الرأي الاختيارية)
446
+ open_in_new_tab: فتح عنوان الرابط URL في تبويب جديد
326
447
  last_activity:
327
448
  new_meeting_at_html: "<span>اجتماع جديد في %{link}</span>"
449
+ layouts:
450
+ live_event:
451
+ administrate: إدارة
452
+ close: إغلاق
453
+ questions: الأسئلة
328
454
  mailer:
329
455
  invite_join_meeting_mailer:
330
456
  invite:
@@ -334,33 +460,111 @@ ar:
334
460
  subject: تم تأكيد تسجيل اجتماعك
335
461
  meeting:
336
462
  not_allowed: غير مسموح لك بمشاهدة هذا الاجتماع
463
+ meeting_closes:
464
+ edit:
465
+ back: العودة
466
+ close: إغلاق الاجتماع
467
+ title: إغلاق الاجتماع
337
468
  meetings:
469
+ calendar_modal:
470
+ add_to_calendar: إضافة إلى التقويم
471
+ apple: إضافة إلى تقويم أبل Apple
472
+ close_window: إغلاق النافذة
473
+ full_details_html: للحصول على التفاصيل الكاملة انتقل إلى %{link}
474
+ google: أضف إلى تقويم Google
475
+ outlook: إضافة إلى تقويم أبل Apple
476
+ count:
477
+ meetings_count:
478
+ zero: "%{count} اجتماعات"
479
+ one: "%{count} اجتماع"
480
+ two: "%{count} اجتماعين"
481
+ few: "%{count} اجتماعات"
482
+ many: "%{count} اجتماعات"
483
+ other: "%{count} اجتماعات"
484
+ create:
485
+ invalid: طرأت مشكلة خلال إنشاء هذا الاجتماع.
486
+ success: لقد قمت بإنشاء الاجتماع بنجاح.
487
+ edit:
488
+ back: العودة
489
+ title: تحرير الاجتماع
490
+ update: تحديث
338
491
  filters:
492
+ activity: نشاطي
493
+ all: الكل
339
494
  category: الفئة
340
495
  date: تاريخ
496
+ date_values:
497
+ all: الكل
498
+ past: السابق
499
+ upcoming: القادم
500
+ my_meetings: اجتماعاتي
501
+ origin: الأصل
341
502
  origin_values:
503
+ all: الكل
342
504
  citizens: المواطنون
505
+ official: رسمي
506
+ user_groups: المجموعات
507
+ scope: النطاق
343
508
  search: بحث
509
+ type: النوع
510
+ type_values:
511
+ all: الكل
512
+ hybrid: هجين
513
+ in_person: وجهًا لوجه
514
+ online: على الإنترنت
344
515
  filters_small_view:
345
516
  close_modal: إغلاق مشروط
346
517
  filter: منقي
347
518
  filter_by: مصنف بواسطة
348
519
  unfold: كشف
349
520
  form:
521
+ address_help: 'العنوان: مستخدم من قبل Geocoder للعثور على الموقع'
522
+ available_slots_help: تركه على 0 إذا كان لديك أعدد غير محدود من الأماكن الشاغرة
523
+ create_as: إنشاء الاجتماع ك
524
+ disclaimer: 'إخلاء المسؤولية: باستخدام نظام تسجيل خارجي، أنت على علم بأن منظمي %{organization} ليسوا مسؤولين عن البيانات المقدمة من المستخدمين إلى الخدمة الخارجية.'
525
+ location_help: 'الموقع: رسالة موجهة إلى المستخدمين تعني مكان للالتقاء به في'
526
+ location_hints_help: 'توضيح حول الموقع: معلومات إضافية. على سبيل المثال: إدراج طابق المبنى في حال كان الاجتماع شخصيا، أو كلمة مرور الاجتماع إذا كان اجتماعا على الإنترنت يحتوي على تقييد الدخول.'
527
+ online_meeting_url_help: 'الرابط: السماح للمشاركين بالاتصال مباشرة باجتماعك'
528
+ registration_url_help: 'الرابط: يتيح للمشاركين استخدام الخدمة الخارجية التي تستخدمها للتسجيل'
350
529
  select_a_category: يُرجى اختيار فئة
530
+ select_a_meeting_type: الرجاء تحديد نوع الاجتماع
531
+ select_a_registration_type: الرجاء تحديد نوع التسجيل
532
+ select_an_iframe_access_level: الرجاء تحديد مستوى الوصول إلى iframe
533
+ index:
534
+ click_here: عرض كافة الاجتماعات
535
+ new_meeting: اجتماع جديد
536
+ see_all: عرض كافة الاجتماعات
537
+ see_all_withdrawn: عرض جميع الاجتماعات المسحوبة
538
+ text_banner: أنت تستعرض قائمة الاجتماعات التي تم سحبها من قبل مؤلفيها. %{go_back_link}.
351
539
  meeting_minutes:
352
540
  related_information: معلومات ذات صله
353
541
  meetings:
354
542
  no_meetings_warning: لا توجد اجتماعات تطابق معايير البحث الخاصة بك أو لا يوجد أي اجتماع مجدولة.
355
543
  upcoming_meetings_warning: حاليًا ، لا توجد اجتماعات مجدولة ، ولكن يمكنك هنا العثور على جميع الاجتماعات السابقة المدرجة.
544
+ new:
545
+ back: العودة
546
+ create: إنشاء
547
+ title: إنشاء اجتماعك
356
548
  registration_confirm:
357
549
  cancel: إلغاء
358
550
  confirm: تؤكد
359
551
  show:
360
552
  attendees: الحضور الحضور
553
+ back: العودة إلى القائمة
554
+ close_meeting: إغلاق الاجتماع
361
555
  contributions: عدد المساهمات
556
+ date: تاريخ
557
+ edit_close_meeting: تحرير تقرير الاجتماع
558
+ edit_meeting: تعديل الاجتماع
559
+ going: لقد قمت بالتسجيل لهذا الاجتماع
362
560
  join: أنضم إلى الأجتماع
561
+ leave: إلغاء التسجيل الخاص بك
562
+ leave_confirmation: هل أنت متأكد من أنك تريد إلغاء تسجيلك لهذا الاجتماع؟
563
+ link_available_soon: سيكون الرابط متوفر قريباً
564
+ link_closed: وسيتاح الرابط للانضمام للاجتماع قبل بضع دقائق من بدئه
565
+ live_event: هذا الاجتماع منعقد الآن
363
566
  meeting_minutes: محضر الاجتماع
567
+ micro_camera_permissions_warning: عند النقر على الزر أدناه، سيتم طلب أذونات الميكروفون و/أو الكاميرا، وسوف تنضم إلى مؤتمر الفيديو
364
568
  no_slots_available: لا فتحات المتاحة
365
569
  organizations: حضور المنظمات
366
570
  registration_code_help_text: رمز التسجيل الخاص بك
@@ -375,6 +579,13 @@ ar:
375
579
  many: "%{count} فتحات المتبقية"
376
580
  other: "%{count} فتحات المتبقية"
377
581
  view: رأي
582
+ visit_finished: عرض الاجتماع السابق
583
+ withdraw_btn_hint: يمكن أن تسحب اجتماعك اذا غيرت رأيك. لا يتم إلغاء الاجتماع بل سيظهر في قائمة الاجتماعات المسحوبة.
584
+ withdraw_confirmation_html: هل أنت متأكد من أنك تريد سحب هذا الاجتماع؟<br><br><strong>لا يمكن إلغاء هذا الإجراء!</strong>
585
+ withdraw_meeting: سحب الاجتماع
586
+ update:
587
+ invalid: طرأت مشكلة خلال تحديث الاجتماع.
588
+ success: لقد قمت بتحديث الاجتماع بنجاح.
378
589
  meetings_map:
379
590
  view_meeting: عرض الاجتماع
380
591
  models:
@@ -392,19 +603,50 @@ ar:
392
603
  fields:
393
604
  closed: مغلق
394
605
  end_time: تاريخ الانتهاء
606
+ id: المعرف ID
395
607
  map: خريطة
608
+ official_meeting: الاجتماع الرسمي
396
609
  start_time: تاريخ البدء
397
610
  title: عنوان
398
611
  polls:
399
612
  questions:
613
+ closed_question:
614
+ question_results: نتائج السؤال
615
+ index:
616
+ empty_questions: خلال هذا الاجتماع، سيتم إرسال بعض الأسئلة وسوف تتمكن من الإجابة عليها. سيتم عرضها هنا.
400
617
  index_admin:
618
+ admin_dashboard: لوحة المدراء
619
+ edit: تحرير في لوحة المدراء
620
+ question: سؤال
621
+ received_answer: الإجابة المتلقاة
622
+ received_answers: الإجابات المتلقاة
401
623
  results: النتائج
624
+ send: إرسال
625
+ sent: تم الإرسال
626
+ published_question:
627
+ max_choices_alert: تم تحديد عدد خيارات اكثر من اللازم
628
+ question: سؤال
629
+ question_replied: تم الرد على السؤال
630
+ reply_question: الرد على السؤال
631
+ public_participants_list:
632
+ attending_participants: المشاركون الحاضرون
633
+ hidden_participants_count:
634
+ zero: و %{count} أشخاص آخرين
635
+ one: و %{count} شخص آخر
636
+ two: و %{count} شخصين آخرين
637
+ few: و %{count} أشخاص آخرين
638
+ many: و %{count} أشخاص آخرين
639
+ other: و %{count} أشخاص آخرين
402
640
  read_more: "(قراءة المزيد)"
403
641
  registration_mailer:
404
642
  confirmation:
405
643
  confirmed_html: تم تأكيد تسجيلك للاجتماع <a href="%{url}">%{title}</a>.
406
644
  details: ستجد تفاصيل الاجتماع في المرفق.
407
645
  registration_code: رمز التسجيل الخاص بك هو %{code}.
646
+ registration_type:
647
+ on_different_platform: على منصة مختلفة
648
+ on_this_platform: على هذه المنصة
649
+ registration_disabled: تعطيل التسجيل
408
650
  registrations:
409
651
  create:
410
652
  invalid: حدثت مشكلة أثناء الانضمام إلى هذا الاجتماع.
@@ -415,9 +657,19 @@ ar:
415
657
  destroy:
416
658
  invalid: حدثت مشكلة أثناء مغادرة هذا الاجتماع.
417
659
  success: لقد تركت الاجتماع بنجاح.
660
+ type_of_meeting:
661
+ hybrid: هجين
662
+ in_person: وجهًا لوجه
663
+ online: على الإنترنت
418
664
  types:
419
665
  private_meeting: اجتماع خاص
420
666
  transparent: شفاف
667
+ withdraw: تم السحب
668
+ versions:
669
+ back_to_resource: العودة إلى الاجتماع
670
+ withdraw:
671
+ error: حدث خطأ أثناء سحب الاجتماع
672
+ success: تم سحب الاجتماع بنجاح
421
673
  metrics:
422
674
  meetings:
423
675
  description: عدد الاجتماعات التي تم إنشاؤها
@@ -437,6 +689,8 @@ ar:
437
689
  proposals_from_meeting:
438
690
  meeting_proposal: 'المقترحات ذات الصلة:'
439
691
  proposal_meeting: 'اجتماعات ذات صلة:'
692
+ statistics:
693
+ meetings_count: الاجتماعات
440
694
  devise:
441
695
  mailer:
442
696
  join_meeting: