decidim-meetings 0.26.5 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +1 -1
  3. data/app/cells/decidim/meetings/content_blocks/upcoming_meetings/show.erb +1 -1
  4. data/app/cells/decidim/meetings/content_blocks/upcoming_meetings_cell.rb +2 -2
  5. data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +10 -1
  6. data/app/cells/decidim/meetings/meeting_list_item_cell.rb +1 -1
  7. data/app/cells/decidim/meetings/meeting_m_cell.rb +1 -1
  8. data/app/cells/decidim/meetings/meeting_s_cell.rb +6 -0
  9. data/app/commands/decidim/meetings/admin/close_meeting.rb +1 -1
  10. data/app/commands/decidim/meetings/admin/copy_meeting.rb +5 -24
  11. data/app/commands/decidim/meetings/admin/create_agenda.rb +1 -1
  12. data/app/commands/decidim/meetings/admin/create_meeting.rb +1 -4
  13. data/app/commands/decidim/meetings/admin/destroy_meeting.rb +1 -1
  14. data/app/commands/decidim/meetings/admin/export_meeting_registrations.rb +1 -1
  15. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +9 -11
  16. data/app/commands/decidim/meetings/admin/publish_meeting.rb +1 -1
  17. data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +1 -1
  18. data/app/commands/decidim/meetings/admin/update_agenda.rb +1 -1
  19. data/app/commands/decidim/meetings/admin/update_meeting.rb +1 -4
  20. data/app/commands/decidim/meetings/admin/update_question_status.rb +1 -1
  21. data/app/commands/decidim/meetings/admin/update_questionnaire.rb +10 -7
  22. data/app/commands/decidim/meetings/admin/update_registrations.rb +5 -3
  23. data/app/commands/decidim/meetings/admin/validate_registration_code.rb +1 -1
  24. data/app/commands/decidim/meetings/close_meeting.rb +1 -1
  25. data/app/commands/decidim/meetings/create_answer.rb +1 -1
  26. data/app/commands/decidim/meetings/create_meeting.rb +1 -1
  27. data/app/commands/decidim/meetings/decline_invitation.rb +1 -1
  28. data/app/commands/decidim/meetings/join_meeting.rb +6 -7
  29. data/app/commands/decidim/meetings/leave_meeting.rb +3 -3
  30. data/app/commands/decidim/meetings/update_meeting.rb +1 -1
  31. data/app/commands/decidim/meetings/withdraw_meeting.rb +1 -1
  32. data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +4 -4
  33. data/app/controllers/concerns/decidim/meetings/filterable.rb +1 -7
  34. data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +2 -2
  35. data/app/controllers/decidim/meetings/calendars_controller.rb +1 -1
  36. data/app/controllers/decidim/meetings/directory/meetings_controller.rb +17 -16
  37. data/app/controllers/decidim/meetings/meetings_controller.rb +21 -15
  38. data/app/events/decidim/meetings/meeting_registration_notification_event.rb +1 -1
  39. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
  40. data/app/forms/decidim/meetings/admin/meeting_copy_form.rb +51 -0
  41. data/app/forms/decidim/meetings/admin/meeting_form.rb +11 -10
  42. data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +1 -1
  43. data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +3 -0
  44. data/app/forms/decidim/meetings/answer_form.rb +0 -1
  45. data/app/forms/decidim/meetings/close_meeting_form.rb +1 -1
  46. data/app/forms/decidim/meetings/meeting_form.rb +2 -2
  47. data/app/helpers/decidim/meetings/application_helper.rb +8 -6
  48. data/app/helpers/decidim/meetings/directory/application_helper.rb +8 -6
  49. data/app/helpers/decidim/meetings/meetings_helper.rb +1 -3
  50. data/app/jobs/decidim/meetings/send_close_meeting_reminder_job.rb +17 -0
  51. data/app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb +43 -0
  52. data/app/models/decidim/meetings/agenda_item.rb +1 -1
  53. data/app/models/decidim/meetings/answer.rb +2 -2
  54. data/app/models/decidim/meetings/invite.rb +2 -2
  55. data/app/models/decidim/meetings/meeting.rb +36 -21
  56. data/app/models/decidim/meetings/questionnaire.rb +6 -0
  57. data/app/models/decidim/meetings/registration.rb +2 -2
  58. data/app/packs/src/decidim/meetings/admin/meetings_form.js +0 -4
  59. data/app/packs/src/decidim/meetings/admin/registrations_form.js +2 -0
  60. data/app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb +39 -0
  61. data/app/queries/decidim/meetings/admin/invites.rb +1 -1
  62. data/app/queries/decidim/meetings/filtered_meetings.rb +1 -1
  63. data/app/queries/decidim/meetings/questionnaire_user_answers.rb +1 -1
  64. data/app/serializers/decidim/meetings/{data_portability_invite_serializer.rb → download_your_data_invite_serializer.rb} +2 -2
  65. data/app/serializers/decidim/meetings/{data_portability_registration_serializer.rb → download_your_data_registration_serializer.rb} +2 -2
  66. data/app/services/decidim/meetings/calendar/base_calendar.rb +4 -3
  67. data/app/services/decidim/meetings/calendar/component_calendar.rb +7 -9
  68. data/app/services/decidim/meetings/calendar/organization_calendar.rb +1 -1
  69. data/app/services/decidim/meetings/calendar_renderer.rb +4 -4
  70. data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +68 -0
  71. data/app/services/decidim/meetings/meeting_iframe_embedder.rb +10 -6
  72. data/app/services/decidim/meetings/meeting_search.rb +7 -53
  73. data/app/views/decidim/meetings/_calendar_modal.html.erb +19 -2
  74. data/app/views/decidim/meetings/admin/meeting_copies/_form.html.erb +64 -0
  75. data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
  76. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +5 -17
  77. data/app/views/decidim/meetings/admin/meetings/index.html.erb +1 -1
  78. data/app/views/decidim/meetings/admin/registrations/_form.html.erb +9 -0
  79. data/app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb +5 -0
  80. data/app/views/decidim/meetings/directory/meetings/_filters.html.erb +7 -7
  81. data/app/views/decidim/meetings/directory/meetings/_meetings.html.erb +6 -1
  82. data/app/views/decidim/meetings/directory/meetings/index.html.erb +1 -1
  83. data/app/views/decidim/meetings/directory/meetings/index.js.erb +7 -1
  84. data/app/views/decidim/meetings/layouts/live_event.html.erb +6 -2
  85. data/app/views/decidim/meetings/meetings/_count.html.erb +1 -1
  86. data/app/views/decidim/meetings/meetings/_filters.html.erb +7 -7
  87. data/app/views/decidim/meetings/meetings/_form.html.erb +4 -2
  88. data/app/views/decidim/meetings/meetings/_meetings.html.erb +11 -6
  89. data/app/views/decidim/meetings/meetings/index.html.erb +2 -2
  90. data/app/views/decidim/meetings/meetings/index.js.erb +2 -2
  91. data/config/locales/am-ET.yml +1 -0
  92. data/config/locales/ar.yml +10 -7
  93. data/config/locales/bg.yml +7 -0
  94. data/config/locales/ca.yml +34 -27
  95. data/config/locales/cs.yml +35 -28
  96. data/config/locales/da.yml +1 -0
  97. data/config/locales/de.yml +16 -77
  98. data/config/locales/el.yml +7 -0
  99. data/config/locales/en.yml +33 -27
  100. data/config/locales/eo.yml +1 -0
  101. data/config/locales/es-MX.yml +34 -27
  102. data/config/locales/es-PY.yml +34 -27
  103. data/config/locales/es.yml +34 -27
  104. data/config/locales/et.yml +1 -0
  105. data/config/locales/eu.yml +164 -204
  106. data/config/locales/fi-plain.yml +34 -27
  107. data/config/locales/fi.yml +34 -27
  108. data/config/locales/fr-CA.yml +31 -26
  109. data/config/locales/fr.yml +31 -26
  110. data/config/locales/ga-IE.yml +5 -9
  111. data/config/locales/gl.yml +23 -2
  112. data/config/locales/hr.yml +1 -0
  113. data/config/locales/hu.yml +20 -147
  114. data/config/locales/id-ID.yml +7 -0
  115. data/config/locales/is-IS.yml +4 -1
  116. data/config/locales/it.yml +14 -11
  117. data/config/locales/ja.yml +36 -29
  118. data/config/locales/ko.yml +1 -0
  119. data/config/locales/lb.yml +12 -6
  120. data/config/locales/lt.yml +1 -664
  121. data/config/locales/lv.yml +7 -0
  122. data/config/locales/mt.yml +1 -0
  123. data/config/locales/nl.yml +64 -91
  124. data/config/locales/no.yml +17 -12
  125. data/config/locales/om-ET.yml +1 -0
  126. data/config/locales/pl.yml +9 -14
  127. data/config/locales/pt-BR.yml +9 -13
  128. data/config/locales/pt.yml +13 -11
  129. data/config/locales/ro-RO.yml +18 -28
  130. data/config/locales/ru.yml +7 -0
  131. data/config/locales/si-LK.yml +1 -0
  132. data/config/locales/sk.yml +7 -0
  133. data/config/locales/sl.yml +4 -0
  134. data/config/locales/so-SO.yml +1 -0
  135. data/config/locales/sr-CS.yml +1 -0
  136. data/config/locales/sv.yml +20 -22
  137. data/config/locales/sw-KE.yml +1 -0
  138. data/config/locales/ti-ER.yml +1 -0
  139. data/config/locales/tr-TR.yml +7 -11
  140. data/config/locales/uk.yml +7 -0
  141. data/config/locales/val-ES.yml +1 -0
  142. data/config/locales/vi.yml +1 -0
  143. data/config/locales/zh-CN.yml +7 -7
  144. data/config/locales/zh-TW.yml +1 -0
  145. data/db/migrate/20210512100333_drop_decidim_meetings_minutes_table.rb +2 -2
  146. data/db/migrate/20210518133236_merge_minutes_with_closing_report_in_meetings_table.rb +1 -1
  147. data/db/migrate/20211105115625_remove_not_null_on_customize_registration_email.rb +7 -0
  148. data/lib/decidim/api/meeting_type.rb +1 -1
  149. data/lib/decidim/meetings/component.rb +7 -7
  150. data/lib/decidim/meetings/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
  151. data/lib/decidim/meetings/engine.rb +15 -1
  152. data/lib/decidim/meetings/test/factories.rb +3 -1
  153. data/lib/decidim/meetings/test/notifications_handling.rb +1 -1
  154. data/lib/decidim/meetings/test/translated_event.rb +2 -2
  155. data/lib/decidim/meetings/version.rb +1 -1
  156. data/lib/decidim/meetings.rb +5 -1
  157. metadata +29 -26
  158. data/app/services/decidim/meetings/directory/meeting_search.rb +0 -53
  159. data/config/locales/gn-PY.yml +0 -1
  160. data/config/locales/ka-GE.yml +0 -1
  161. data/config/locales/lo-LA.yml +0 -1
  162. data/config/locales/oc-FR.yml +0 -1
@@ -1,13 +1,19 @@
1
1
  var $meetings = $('#meetings');
2
2
  var $meetingsCount = $('#meetings-count');
3
3
 
4
+ // make sure that calendar modal will use the updated filter values
5
+ var $calendarShare = $('#calendarShare');
6
+ $calendarShare.remove();
7
+
4
8
  $meetings.html('<%= j(render partial: "meetings").strip.html_safe %>');
5
9
  $meetingsCount.html('<%= j(render partial: "decidim/meetings/meetings/count").strip.html_safe %>');
6
10
 
7
11
  var $dropdownMenu = $('.dropdown.menu', $meetings);
8
12
  $dropdownMenu.foundation();
9
13
 
10
- var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results).to_json.html_safe %>');
14
+ $("#calendarShare").foundation(); // initialize export calendar on the page
15
+
16
+ var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.result).to_json.html_safe %>');
11
17
 
12
18
  var $map = $("#map");
13
19
  var controller = $map.data("map-controller");
@@ -3,12 +3,13 @@
3
3
  <head>
4
4
  <title><%= decidim_page_title %></title>
5
5
  <%= render partial: "layouts/decidim/head" %>
6
- <%= javascript_pack_tag "decidim_meetings" %>
7
- <%= render partial: "layouts/decidim/js_configuration" %>
8
6
  </head>
9
7
 
10
8
  <body>
11
9
  <%= render partial: "layouts/decidim/timeout_modal" %>
10
+ <%= render partial: "layouts/decidim/cookie_warning" %>
11
+ <%= cell("decidim/data_consent", current_organization) %>
12
+
12
13
  <header class="meeting-polls__header">
13
14
  <% if current_user && poll %>
14
15
  <div class="flex--cc">
@@ -47,5 +48,8 @@
47
48
  <aside class="meeting-polls__aside" id="admin-meeting-poll-aside" data-decidim-admin-meetings-poll='{"questionsUrl":"<%= meeting_polls_questions_path(meeting, admin: true) %>"}'></aside>
48
49
  <%= yield %>
49
50
  </main>
51
+
52
+ <%= render partial: "layouts/decidim/decidim_javascript" %>
53
+ <%= javascript_pack_tag "decidim_meetings" %>
50
54
  </body>
51
55
  </html>
@@ -1 +1 @@
1
- <%= t(".meetings_count", count: search.results.count) %>
1
+ <%= t(".meetings_count", count: search.result.count) %>
@@ -4,7 +4,7 @@
4
4
  <div class="filters__section">
5
5
  <div class="filters__search">
6
6
  <div class="input-group">
7
- <%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), "aria-label": t(".search"), data: { disable_dynamic_change: true } %>
7
+ <%= form.search_field :search_text_cont, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), "aria-label": t(".search"), data: { disable_dynamic_change: true } %>
8
8
  <div class="input-group-button">
9
9
  <button type="submit" class="button" aria-controls="meetings">
10
10
  <%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
@@ -14,24 +14,24 @@
14
14
  </div>
15
15
  </div>
16
16
 
17
- <%= form.hidden_field "state", value: params.dig("filter", "state") %>
17
+ <%= form.hidden_field "with_availability", value: params.dig("filter", "with_availability") %>
18
18
 
19
19
  <% unless @forced_past_meetings %>
20
- <%= form.collection_radio_buttons :date, filter_date_values, :first, :last, legend_title: t(".date") %>
20
+ <%= form.check_boxes_tree :with_any_date, filter_date_values, legend_title: t(".date") %>
21
21
  <% end %>
22
22
 
23
- <%= form.check_boxes_tree :type, filter_type_values, legend_title: t(".type") %>
23
+ <%= form.check_boxes_tree :with_any_type, filter_type_values, legend_title: t(".type") %>
24
24
 
25
25
  <% if current_component.has_subscopes? %>
26
- <%= form.check_boxes_tree :scope_id, filter_scopes_values, legend_title: t(".scope") %>
26
+ <%= form.check_boxes_tree :with_any_scope, filter_scopes_values, legend_title: t(".scope") %>
27
27
  <% end %>
28
28
 
29
29
  <% if current_component.categories.any? %>
30
- <%= form.check_boxes_tree :category_id, filter_categories_values, legend_title: t(".category") %>
30
+ <%= form.check_boxes_tree :with_any_category, filter_categories_values, legend_title: t(".category") %>
31
31
  <% end %>
32
32
 
33
33
  <% if component_settings.creation_enabled_for_participants? %>
34
- <%= form.check_boxes_tree :origin, filter_origin_values, legend_title: t(".origin") %>
34
+ <%= form.check_boxes_tree :with_any_origin, filter_origin_values, legend_title: t(".origin") %>
35
35
  <% end %>
36
36
 
37
37
  <% if current_user %>
@@ -38,7 +38,7 @@
38
38
  <%= form.select :iframe_embed_type,
39
39
  @form.iframe_embed_type_select,
40
40
  { multiple: false } %>
41
- <p class="help-text"><%= t(".show_embedded_iframe_help") %></p>
41
+ <p class="help-text"><%= t(".show_embedded_iframe_help", domains: Decidim::Meetings.embeddable_services&.join(" ")) %></p>
42
42
  </div>
43
43
 
44
44
  <div class="field iframe-fields--access-level" id="meeting_iframe_embed_type" data-meeting-type="online-access-level">
@@ -98,4 +98,6 @@
98
98
  ) %>
99
99
  </div>
100
100
 
101
- <%= javascript_pack_tag "decidim_meetings" %>
101
+ <% content_for :js_content do %>
102
+ <%= javascript_pack_tag "decidim_meetings" %>
103
+ <% end %>
@@ -1,7 +1,7 @@
1
- <% if params.dig("filter", "state").present? && params["filter"]["state"] == "withdrawn" %>
1
+ <% if params.dig("filter", "with_availability").present? && params["filter"]["with_availability"] == "withdrawn" %>
2
2
  <div class="callout warning">
3
3
  <%= t("decidim.meetings.meetings.index.text_banner",
4
- go_back_link: link_to(t("decidim.meetings.meetings.index.click_here"), meetings_path("filter[state]" => nil)),
4
+ go_back_link: link_to(t("decidim.meetings.meetings.index.click_here"), meetings_path("filter[with_availability]" => nil)),
5
5
  ).html_safe %>
6
6
  </div>
7
7
  <% end %>
@@ -21,7 +21,12 @@
21
21
  <%= render partial: "decidim/shared/results_per_page" %>
22
22
  </div>
23
23
  <div class="column">
24
- <%= render partial: "decidim/meetings/calendar_modal", locals: { path: calendar_url } %>
24
+ <%= render partial: "decidim/meetings/calendar_modal", locals: {
25
+ path: short_url(
26
+ route_name: "calendar",
27
+ params: { filter: params.fetch(:filter, {}).try(:to_unsafe_hash) }
28
+ )
29
+ } %>
25
30
  </div>
26
31
  </div>
27
32
 
@@ -34,10 +39,10 @@
34
39
 
35
40
  <div class="row">
36
41
  <div class="text-right">
37
- <% if params.dig("filter", "state").present? && params["filter"]["state"] == "withdrawn" %>
38
- <%= link_to t("decidim.meetings.meetings.index.see_all"), meetings_path("filter[state]" => nil) %>
42
+ <% if params.dig("filter", "with_availability").present? && params["filter"]["with_availability"] == "withdrawn" %>
43
+ <%= link_to t("decidim.meetings.meetings.index.see_all"), meetings_path("filter[with_availability]" => nil) %>
39
44
  <% else %>
40
- <%= link_to t("decidim.meetings.meetings.index.see_all_withdrawn"), meetings_path("filter[state]" => "withdrawn") %>
45
+ <%= link_to t("decidim.meetings.meetings.index.see_all_withdrawn"), meetings_path("filter[with_availability]" => "withdrawn") %>
41
46
  <% end %>
42
47
  </div>
43
48
  </div>
@@ -1,7 +1,7 @@
1
1
  <%= render partial: "decidim/shared/component_announcement" %>
2
2
 
3
- <% if current_component.settings.maps_enabled? && search.results.not_online.exists? %>
4
- <%= cell "decidim/meetings/meetings_map", search.results %>
3
+ <% if current_component.settings.maps_enabled? && search.result.not_online.exists? %>
4
+ <%= cell "decidim/meetings/meetings_map", search.result %>
5
5
  <% end %>
6
6
 
7
7
  <div class="row columns">
@@ -11,9 +11,9 @@ $meetingsCount.html('<%= j(render partial: "count").strip.html_safe %>');
11
11
  var $dropdownMenu = $('.dropdown.menu', $meetings);
12
12
  $dropdownMenu.foundation();
13
13
 
14
- $("#calendarShare").foundation(); // initialize export calendar on the page
14
+ var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.result.select(&:geocoded_and_valid?)).to_json.html_safe %>');
15
15
 
16
- var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded_and_valid?)).to_json.html_safe %>');
16
+ $("#calendarShare").foundation(); // initialize export calendar on the page
17
17
 
18
18
  var $map = $("#map");
19
19
  var controller = $map.data("map-controller");
@@ -1 +1,2 @@
1
+ ---
1
2
  am:
@@ -1,6 +1,11 @@
1
+ ---
1
2
  ar:
2
3
  activemodel:
3
4
  attributes:
5
+ agenda:
6
+ description: وصف
7
+ duration: المدة الزمنية
8
+ title: عنوان
4
9
  close_meeting:
5
10
  attendees_count: عدد الحضور
6
11
  attending_organizations: قائمة المنظمات التي حضرت
@@ -14,6 +19,7 @@ ar:
14
19
  decidim_category_id: الفئة
15
20
  decidim_scope_id: نطاق
16
21
  description: وصف
22
+ end_time: وقت النهاية
17
23
  location: موقعك
18
24
  location_hints: تلميحات الموقع
19
25
  organizer_id: منظم
@@ -21,6 +27,7 @@ ar:
21
27
  registration_form_enabled: تم تمكين نموذج التسجيل
22
28
  registration_terms: شروط التسجيل
23
29
  registrations_enabled: تم تمكين التسجيلات
30
+ start_time: وقت البدء
24
31
  title: عنوان
25
32
  transparent: شفاف
26
33
  errors:
@@ -70,11 +77,10 @@ ar:
70
77
  meetings:
71
78
  category_id_eq:
72
79
  label: الفئة
73
- origin_eq:
80
+ with_any_origin:
74
81
  values:
75
- citizen: المواطن
76
82
  user_group: مجموعات المستخدمين
77
- type_eq:
83
+ with_any_type:
78
84
  label: نوع الاجتماع
79
85
  values:
80
86
  in_person: وجهًا لوجه
@@ -245,8 +251,6 @@ ar:
245
251
  success: تم حذف الاجتماع بنجاح
246
252
  edit:
247
253
  update: تحديث
248
- form:
249
- registration_email_help: سيظهر هذا النص في منتصف البريد الإلكتروني الخاص بتأكيد التسجيل مباشرة بعد رمز التسجيل.
250
254
  index:
251
255
  title: اجتماعات
252
256
  new:
@@ -276,6 +280,7 @@ ar:
276
280
  form:
277
281
  available_slots_help: اتركه إلى 0 إذا كان لديك فتحات غير محدودة المتاحة.
278
282
  invites: دعوات
283
+ registration_email_help: سيظهر هذا النص في منتصف البريد الإلكتروني الخاص بتأكيد التسجيل مباشرة بعد رمز التسجيل.
279
284
  registration_form: إستمارة تسجيل
280
285
  registrations_count:
281
286
  zero: كان هناك %{count} التسجيلات.
@@ -338,8 +343,6 @@ ar:
338
343
  filters:
339
344
  category: الفئة
340
345
  date: تاريخ
341
- origin_values:
342
- citizens: المواطنون
343
346
  search: بحث
344
347
  filters_small_view:
345
348
  close_modal: إغلاق مشروط
@@ -1,4 +1,11 @@
1
+ ---
1
2
  bg:
3
+ activemodel:
4
+ attributes:
5
+ agenda:
6
+ description: Описание
7
+ duration: Продължителност
8
+ title: Заглавие
2
9
  decidim:
3
10
  meetings:
4
11
  actions:
@@ -1,6 +1,11 @@
1
+ ---
1
2
  ca:
2
3
  activemodel:
3
4
  attributes:
5
+ agenda:
6
+ description: Descripció
7
+ duration: Durada
8
+ title: Títol
4
9
  close_meeting:
5
10
  attendees_count: Nombre d'assistents
6
11
  attending_organizations: Llista d'organitzacions que han participat
@@ -18,9 +23,8 @@ ca:
18
23
  decidim_scope_id: Àmbit
19
24
  decidim_user_group_id: Grup d'usuàries
20
25
  description: Descripció
21
- end_time: Dia i hora de finalització
26
+ end_time: Hora de finalització
22
27
  id: ID
23
- iframe_embed_type: Visualització de la sala de videoconferència
24
28
  location: Ubicació
25
29
  location_hints: Detalls d'ubicació
26
30
  online_meeting_url: URL de trobada en línia
@@ -30,26 +34,13 @@ ca:
30
34
  registration_email_custom_content: Contingut personalitzat del correu d'inscripció
31
35
  registration_form_enabled: Formulari d'inscripcions habilitat
32
36
  registration_terms: Termes i condicions d'inscripció
33
- registration_type: Tipus d'inscripció
34
37
  registration_url: URL d'inscripció
35
38
  registrations_enabled: Inscripcions obertes
36
- reserved_slots: Places reservades per aquesta trobada
37
- start_time: Dia i hora d'inici
39
+ show_embedded_iframe: Mostrar iframe incrustat per aquesta URL
40
+ start_time: Hora d'inici
38
41
  title: Títol
39
42
  transparent: Transparent
40
43
  type_of_meeting: Tipus
41
- meeting_agenda:
42
- title: Títol
43
- visible: Visible
44
- meeting_agenda_items:
45
- description: Descripció
46
- duration: Durada
47
- title: Títol
48
- meeting_registration_invite:
49
- email: Correu electrònic
50
- name: Nom
51
- validate_registration_code:
52
- code: Codi
53
44
  errors:
54
45
  models:
55
46
  meeting:
@@ -99,15 +90,15 @@ ca:
99
90
  values:
100
91
  'false': Passades
101
92
  'true': Properes
102
- origin_eq:
93
+ scope_id_eq:
94
+ label: Àmbit
95
+ with_any_origin:
103
96
  label: Origen
104
97
  values:
105
- citizen: Ciutadania
106
98
  official: Oficial
99
+ participants: Participant
107
100
  user_group: Grups
108
- scope_id_eq:
109
- label: Àmbit
110
- type_eq:
101
+ with_any_type:
111
102
  label: Tipus de trobada
112
103
  values:
113
104
  hybrid: Híbrida
@@ -292,6 +283,9 @@ ca:
292
283
  edit:
293
284
  close: Tancar
294
285
  title: Tancar trobada
286
+ meeting_copies:
287
+ form:
288
+ select_a_meeting_type: Si us plau, selecciona un tipus de trobada
295
289
  meetings:
296
290
  close:
297
291
  invalid: S'ha produït un error en tancar aquesta trobada
@@ -310,17 +304,15 @@ ca:
310
304
  update: Actualitzar
311
305
  form:
312
306
  address_help: 'Adreça: que farà servir per Geocoder per a trobar la localització'
313
- available_slots_help: Deixa-ho a 0 si les places disponibles són il·limitades
314
307
  disclaimer: 'Descàrrec de responsabilitat: en utilitzar un sistema d''inscripcions extern, ets conscient que els organitzadors de %{organization} no són responsables de les dades proporcionades per les usuàries al servei extern.'
315
308
  location_help: 'Localització: missatge dirigit a les participants indicant el lloc on trobar-se'
316
309
  location_hints_help: 'Detalls d''ubicació: informació addicional. Exemple: la planta de l''edifici si es tracta d''una reunió presencial, o la contrasenya de la reunió si es tracta d''una reunió en línia amb accés restringit.'
317
310
  online_meeting_url_help: 'Enllaç: permetre que les participants es connectin directament a la teva trobada'
318
- registration_email_help: Aquest text apareixerà enmig del correu de confirmació de la inscripció. Just a sota del codi d'inscripció.
319
311
  registration_url_help: 'Enllaç: permetre a les participants anar al servei extern que estàs utilitzant per a les inscripcions'
320
312
  select_a_meeting_type: Si us plau selecciona un tipus de trobada
321
313
  select_a_registration_type: Si us plau selecciona un tipus d'inscripció
322
314
  select_an_iframe_access_level: Si us plau, selecciona el nivell d'accés a l'iframe
323
- show_embedded_iframe_help: Només uns quants serveis es poden incrustar a una trobada o esdeveniment en directe (YouTube, Twitch i Jitsi)
315
+ show_embedded_iframe_help: 'Només uns quants serveis es poden incrustar a una trobada o esdeveniment en directe des dels següents dominis: %{domains}'
324
316
  index:
325
317
  title: Trobades
326
318
  new:
@@ -363,6 +355,7 @@ ca:
363
355
  available_slots_help: Deixar a 0 si les inscripcions són il·limitades.
364
356
  invites: Invitacions
365
357
  recommendation_message: Per raons de privacitat et recomanem que esborris aquest formulari d'inscripció quan ja no el necessitis. Per defecte això és 3 mesos després que la reunió hagi finalitzat.
358
+ registration_email_help: Aquest text apareixerà enmig del correu de confirmació de la inscripció. Just a sota del codi d'inscripció.
366
359
  registration_form: Formulari d'inscripció
367
360
  registrations_count:
368
361
  one: Hi ha hagut %{count} inscripció.
@@ -390,6 +383,8 @@ ca:
390
383
  value_types:
391
384
  organizer_presenter:
392
385
  not_found: 'L''organitzador no s''ha trobat a la base de dades (identificació: %{id})'
386
+ questionnaire:
387
+ update: "%{user_name} ha actualitzat el qüestionari per a la trobada %{meeting_name}"
393
388
  application_helper:
394
389
  filter_category_values:
395
390
  all: Totes
@@ -400,7 +395,19 @@ ca:
400
395
  calendar_modal:
401
396
  calendar_url: URL del calendari
402
397
  close_window: Tanca la finestra
398
+ copy_calendar_url: Copiar
399
+ copy_calendar_url_clarification: Copiar l'URL del calendari al porta-retalls
400
+ copy_calendar_url_copied: Copiat!
401
+ copy_calendar_url_description: Pots veure totes les reunions publicades a la teva aplicació o preveïdor de calendari. Copia i enganxa aquesta URL al teu calendari fent servir l'opció "Afegir nou calendari des d'una URL".
402
+ copy_calendar_url_explanation: Tingues en compte que estàs exportant una selecció de reunions, ja que hi ha filtres activats. Si vols exportar-les totes, primer elimina tots els filtres.
403
+ copy_calendar_url_message: S'ha copiat l'enllaç al porta-retalls correctament.
403
404
  export_calendar: Exporta el calendari
405
+ close_meeting_reminder_mailer:
406
+ close_meeting_reminder:
407
+ body: La trobada <a href="%{meeting_path}">"%{meeting_title}"</a> està pendent de tancar-se. Si us plau, afegiu un informe de la reunió fent servir el botó "Tancar trobada".
408
+ greetings: Hola,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
409
+ hello: Hola %{username},
410
+ subject: Ara pots tancar la trobada amb un informe a la plataforma %{organization_name}
404
411
  conference_venues: Seus de les jornades
405
412
  content_blocks:
406
413
  upcoming_meetings:
@@ -475,8 +482,8 @@ ca:
475
482
  origin: Origen
476
483
  origin_values:
477
484
  all: Tots
478
- citizens: Ciutadania
479
485
  official: Oficial
486
+ participants: Participants
480
487
  user_groups: Grups
481
488
  scope: Àmbit
482
489
  search: Cerca
@@ -504,7 +511,7 @@ ca:
504
511
  select_a_meeting_type: Si us plau selecciona un tipus de trobada
505
512
  select_a_registration_type: Si us plau selecciona un tipus d'inscripció
506
513
  select_an_iframe_access_level: Si us plau, selecciona el nivell d'accés a l'iframe
507
- show_embedded_iframe_help: Només uns quants serveis es poden incrustar a una trobada o esdeveniment en directe (YouTube, Twitch i Jitsi)
514
+ show_embedded_iframe_help: 'Només uns quants serveis es poden incrustar a una trobada o esdeveniment en directe des dels següents dominis: %{domains}'
508
515
  index:
509
516
  click_here: Veure totes les trobades
510
517
  new_meeting: Nova trobada
@@ -1,6 +1,11 @@
1
+ ---
1
2
  cs:
2
3
  activemodel:
3
4
  attributes:
5
+ agenda:
6
+ description: Popis
7
+ duration: Doba trvání
8
+ title: Název
4
9
  close_meeting:
5
10
  attendees_count: Počet účastníků
6
11
  attending_organizations: Seznam organizací, které se zúčastnily
@@ -20,7 +25,6 @@ cs:
20
25
  description: Popis
21
26
  end_time: Čas ukončení
22
27
  id: ID
23
- iframe_embed_type: Typ vloženého rámu
24
28
  location: Umístění
25
29
  location_hints: Nápověda k poloze
26
30
  online_meeting_url: URL online schůzky
@@ -30,26 +34,13 @@ cs:
30
34
  registration_email_custom_content: Přizpůsobený obsah registračního e-mailu
31
35
  registration_form_enabled: Registrační formulář je povolen
32
36
  registration_terms: Podmínky registrace
33
- registration_type: Typ registrace
34
37
  registration_url: URL registrace
35
38
  registrations_enabled: Registrace povoleny
36
- reserved_slots: Rezervované sloty pro tuto schůzku
39
+ show_embedded_iframe: Zobrazit vloženou iframe pro tuto URL
37
40
  start_time: Čas zahájení
38
41
  title: Název
39
42
  transparent: Transparentní
40
43
  type_of_meeting: Typ
41
- meeting_agenda:
42
- title: Název
43
- visible: Viditelné
44
- meeting_agenda_items:
45
- description: Popis
46
- duration: Doba trvání
47
- title: Název
48
- meeting_registration_invite:
49
- email: E-mail
50
- name: Jméno
51
- validate_registration_code:
52
- code: Kód
53
44
  errors:
54
45
  models:
55
46
  meeting:
@@ -105,15 +96,15 @@ cs:
105
96
  values:
106
97
  'false': Minulé
107
98
  'true': Nadcházející
108
- origin_eq:
99
+ scope_id_eq:
100
+ label: Oblast působnosti
101
+ with_any_origin:
109
102
  label: Původ
110
103
  values:
111
- citizen: Občané
112
104
  official: Úředník
105
+ participants: Účastník
113
106
  user_group: Skupiny uživatelů
114
- scope_id_eq:
115
- label: Oblast působnosti
116
- type_eq:
107
+ with_any_type:
117
108
  label: Typ schůzky
118
109
  values:
119
110
  hybrid: Hybridní
@@ -174,7 +165,7 @@ cs:
174
165
  meeting_registration_confirmed:
175
166
  notification_title: Vaše registrace pro schůzku <a href="%{resource_url}">%{resource_title}</a> byla potvrzena. Váš registrační kód je %{registration_code}.
176
167
  meeting_registrations_over_percentage:
177
- email_intro: Přidělených míst pro schůzku "%{resource_title}" je více než %{percentage}%.
168
+ email_intro: Počet schůzek obsazených schůzem "%{resource_title}" je vyšší než %{percentage}%.
178
169
  email_outro: Toto oznámení jste obdrželi, protože jste administrátor participačního prostoru schůzky.
179
170
  email_subject: Schůzky obsazené schůzkou "%{resource_title}" jsou nad %{percentage}%
180
171
  notification_title: Počet obsazených slotů <a href="%{resource_path}">%{resource_title}</a> je vyšší než %{percentage}%.
@@ -200,7 +191,7 @@ cs:
200
191
  notification_title: Setkání <a href="%{resource_path}">%{resource_title}</a> bude zahájeno za méně než 48 hodin.
201
192
  forms:
202
193
  meetings:
203
- attendees_count_help_text: Nezapomeňte uvést celkový počet účastníků na vaší schůzce, ať už osobní, online nebo smíšené.
194
+ attendees_count_help_text: Nezapomeňte uvést celkový počet účastníků na vaší schůzce, ať už osobně, online nebo hybridně.
204
195
  gamification:
205
196
  badges:
206
197
  attended_meetings:
@@ -238,7 +229,7 @@ cs:
238
229
  agenda_item:
239
230
  add_agenda_item_child: Přidání položky agendy dítěte
240
231
  agenda_item: Položka agendy
241
- agenda_item_children: Dílčí body programu
232
+ agenda_item_children: Agenda Item Childs
242
233
  down: Dolů
243
234
  remove: Odstranit
244
235
  up: Nahoru
@@ -300,6 +291,9 @@ cs:
300
291
  edit:
301
292
  close: Zavřít
302
293
  title: Zavřete schůzku
294
+ meeting_copies:
295
+ form:
296
+ select_a_meeting_type: Vyberte prosím typ schůzky
303
297
  meetings:
304
298
  close:
305
299
  invalid: Při setkání došlo k problému
@@ -320,17 +314,15 @@ cs:
320
314
  update: Aktualizace
321
315
  form:
322
316
  address_help: 'Adresa: použita Geocoderem k nalezení polohy'
323
- available_slots_help: Ponechte 0, pokud máte k dispozici neomezený počet slotů
324
317
  disclaimer: 'Prohlášení o zřeknutí: Použitím externího registračního systému jste si vědomi toho, že organizátoři %{organization} nejsou odpovědní za data poskytovaná uživateli externí službě.'
325
318
  location_help: 'Poloha: zpráva určená uživatelům, kteří předávají místo, aby se setkali'
326
319
  location_hints_help: 'Upřesnění k místu: dodatečné informace. Příklad: patro budovy, pokud se jedná o osobní schůzku, nebo vstupní heslo pro schůzku, pokud se jedná o schůzku s omezeným přístupem.'
327
320
  online_meeting_url_help: 'Odkaz: Umožnit účastníkům připojení přímo k vaší schůzce'
328
- registration_email_help: Tento text se zobrazí uprostřed potvrzení registračním e-mailem. Hned za registračním kódem.
329
321
  registration_url_help: 'Odkaz: umožnit účastníkům jít na externí službu, kterou používáte pro registrace'
330
322
  select_a_meeting_type: Vyberte prosím typ schůzky
331
323
  select_a_registration_type: Vyberte prosím typ registrace
332
324
  select_an_iframe_access_level: Vyberte prosím úroveň přístupu iframe
333
- show_embedded_iframe_help: Pouze pár služeb umožňuje vložení do schůzky nebo živé události (YouTube, Twitch a Jitsi)
325
+ show_embedded_iframe_help: 'Pouze pár služeb umožňuje vložení do schůzky nebo živé události z následujících domén: %{domains}'
334
326
  index:
335
327
  title: Setkání
336
328
  new:
@@ -373,6 +365,7 @@ cs:
373
365
  available_slots_help: Nechte to na 0, pokud máte k dispozici neomezené sloty.
374
366
  invites: Pozvánky
375
367
  recommendation_message: Z důvodu ochrany osobních údajů doporučujeme odstranit tento nadepsaný formulář, když jej již nepotřebujete. Ve výchozím nastavení je to 3 měsíce po ukončení schůzky.
368
+ registration_email_help: Tento text se zobrazí uprostřed potvrzení registračním e-mailem. Hned za registračním kódem.
376
369
  registration_form: Registrační formulář
377
370
  registrations_count:
378
371
  one: Byla zde registrace %{count}.
@@ -402,6 +395,8 @@ cs:
402
395
  value_types:
403
396
  organizer_presenter:
404
397
  not_found: 'Organizátor nebyl nalezen v databázi (ID: %{id})'
398
+ questionnaire:
399
+ update: "%{user_name} aktualizoval dotazník pro schůzku %{meeting_name}"
405
400
  application_helper:
406
401
  filter_category_values:
407
402
  all: Vše
@@ -412,7 +407,19 @@ cs:
412
407
  calendar_modal:
413
408
  calendar_url: Adresa URL kalendáře
414
409
  close_window: Zavřete okno
410
+ copy_calendar_url: Kopírovat
411
+ copy_calendar_url_clarification: Kopírovat URL kalendáře do schránky
412
+ copy_calendar_url_copied: Zkopírováno!
413
+ copy_calendar_url_description: Všechny zveřejněné schůzky můžete vidět v aplikaci nebo poskytovateli kalendáře. Zkopírujte a vložte tuto URL do kalendáře pomocí možnosti "Přidat nový kalendář z URL".
414
+ copy_calendar_url_explanation: Vezměte prosím na vědomí, že exportujete výběr schůzek, protože existují aktivní filtry. Pokud si přejete exportovat všechny, resetujte nejprve všechny filtry.
415
+ copy_calendar_url_message: URL byla úspěšně zkopírována do schránky.
415
416
  export_calendar: Exportovat kalendář
417
+ close_meeting_reminder_mailer:
418
+ close_meeting_reminder:
419
+ body: Schůzka <a href="%{meeting_path}">"%{meeting_title}"</a> čeká na ukončení. Přidejte prosím zprávu o schůzce pomocí tlačítka "Zavřít schůzku".
420
+ greetings: Dobrý den,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
421
+ hello: Dobrý den %{username},
422
+ subject: Nyní můžete svou schůzku uzavřít se zprávou o platformě %{organization_name}
416
423
  conference_venues: Konferenční prostory
417
424
  content_blocks:
418
425
  upcoming_meetings:
@@ -489,8 +496,8 @@ cs:
489
496
  origin: Původ
490
497
  origin_values:
491
498
  all: Vše
492
- citizens: Občané
493
499
  official: Úředník
500
+ participants: Účastníci
494
501
  user_groups: Skupiny
495
502
  scope: Oblast působnosti
496
503
  search: Vyhledávání
@@ -518,7 +525,7 @@ cs:
518
525
  select_a_meeting_type: Vyberte prosím typ schůzky
519
526
  select_a_registration_type: Vyberte prosím typ registrace
520
527
  select_an_iframe_access_level: Vyberte prosím úroveň přístupu iframe
521
- show_embedded_iframe_help: Pouze pár služeb umožňuje vložení do schůzky nebo živé události (YouTube, Twitch a Jitsi)
528
+ show_embedded_iframe_help: 'Pouze pár služeb umožňuje vložení do schůzky nebo živé události z následujících domén: %{domains}'
522
529
  index:
523
530
  click_here: Zobrazit všechny schůzky
524
531
  new_meeting: Nová schůzka
@@ -1 +1,2 @@
1
+ ---
1
2
  da: