decidim-conferences 0.25.0 → 0.26.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/conferences/conference_speaker_cell.rb +1 -1
  3. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_cell.rb +12 -0
  4. data/app/cells/decidim/conferences/photo/show.erb +1 -1
  5. data/app/cells/decidim/conferences/photo_cell.rb +1 -1
  6. data/app/cells/decidim/conferences/registration_type/registration_confirm.erb +1 -1
  7. data/app/cells/decidim/conferences/registration_type_cell.rb +1 -1
  8. data/app/controllers/decidim/conferences/admin/conference_user_roles_controller.rb +11 -4
  9. data/app/models/decidim/conference_user_role.rb +20 -0
  10. data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +7 -6
  11. data/app/views/decidim/conferences/admin/conferences/index.html.erb +1 -1
  12. data/app/views/decidim/conferences/conference_program/_program_meeting.html.erb +1 -1
  13. data/app/views/decidim/conferences/conferences/_promoted_conference.html.erb +1 -1
  14. data/app/views/decidim/conferences/conferences/show.html.erb +3 -3
  15. data/config/locales/cs.yml +1 -1
  16. data/config/locales/eu.yml +19 -19
  17. data/config/locales/fr-CA.yml +2 -2
  18. data/config/locales/fr.yml +9 -9
  19. data/config/locales/ja.yml +21 -21
  20. data/config/locales/lb-LU.yml +529 -0
  21. data/config/locales/pt-BR.yml +1 -1
  22. data/config/locales/ro-RO.yml +41 -27
  23. data/config/locales/sv.yml +1 -0
  24. data/config/locales/val-ES.yml +1 -0
  25. data/lib/decidim/conferences/admin_engine.rb +3 -1
  26. data/lib/decidim/conferences/engine.rb +4 -0
  27. data/lib/decidim/conferences/test/factories.rb +4 -1
  28. data/lib/decidim/conferences/version.rb +1 -1
  29. metadata +17 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b710609005474007307f77e505c15cf551a4c9041bb25185bcbeae280d37b177
4
- data.tar.gz: d9ef4049b77f7b2ab494abec50636b3553d63f5a6612350dac398f921f648e6e
3
+ metadata.gz: 707fcd5ede31c80915a5eb8df1621cc88b2e2765119162de89367366f3ec41e9
4
+ data.tar.gz: 26ba33f229871e253cb4d3a1d6438470a44437e3734ee4882393e5c5ad398b78
5
5
  SHA512:
6
- metadata.gz: 5f5859f020eeb1f6477992fa1d7f68038b0b3b1948818505b041bd626fba41402dabcde007e6d7c52ebfe87c0f838b5f53e97dbb032cc8735ec93623bac55917
7
- data.tar.gz: f60ffc07a8f72ffcc9de81510194d700b60995482314aba947aa7e20e1340914e3c3297230081f0c523185e9d94d57402e2412dd0984ad744e88c24118a0a9ab
6
+ metadata.gz: e53bbc1f06cdca9fab663d25526aa64cb562de6f4aeb2f0728ac0fc7ca8288ec7319cf19bf0fcf0429f680c78504c3911d693568c5c649cbb4a39f88f66d2cd8
7
+ data.tar.gz: 7c855d3c2accf0fded4e01fe2f58c9e4b333b4065fad895eb7a536033af8dbab2df6a1e4a8d1403752a797809fe503c8e8e50b239f3aaf5b57fd6c3cf6ae8d5e
@@ -42,7 +42,7 @@ module Decidim
42
42
  def avatar_path
43
43
  return Decidim::UserPresenter.new(model.user).avatar_url if model.user.present?
44
44
 
45
- model.attached_uploader(:avatar).path
45
+ Decidim::ConferenceSpeakerPresenter.new(model).avatar_url
46
46
  end
47
47
 
48
48
  def has_profile?
@@ -6,6 +6,10 @@ module Decidim
6
6
  class HighlightedConferencesCell < Decidim::ViewModel
7
7
  delegate :current_user, to: :controller
8
8
 
9
+ cache :show, expires_in: 10.minutes, if: :perform_caching? do
10
+ cache_hash
11
+ end
12
+
9
13
  def show
10
14
  render if highlighted_conferences.any?
11
15
  end
@@ -21,6 +25,14 @@ module Decidim
21
25
  def decidim_conferences
22
26
  Decidim::Conferences::Engine.routes.url_helpers
23
27
  end
28
+
29
+ private
30
+
31
+ def cache_hash
32
+ hash = []
33
+ hash.push(I18n.locale)
34
+ hash.join(Decidim.cache_key_separator)
35
+ end
24
36
  end
25
37
  end
26
38
  end
@@ -17,7 +17,7 @@
17
17
  <strong><%= title %></strong>
18
18
  </h5>
19
19
  <div class="text-small">
20
- <%= decidim_sanitize description %>
20
+ <%= decidim_sanitize_editor description %>
21
21
  </div>
22
22
  <button class="close-button" data-close aria-label="<%= t("conferences.photo.show.close_modal", scope: "decidim") %>" type="button">
23
23
  <span aria-hidden="true">&times;</span>
@@ -30,7 +30,7 @@ module Decidim
30
30
  end
31
31
 
32
32
  def short_description
33
- decidim_sanitize html_truncate(description, length: 100, separator: "...")
33
+ decidim_sanitize_editor html_truncate(description, length: 100, separator: "...")
34
34
  end
35
35
 
36
36
  def description
@@ -1,7 +1,7 @@
1
1
  <div class="reveal" data-reveal id="conference-registration-confirm-<%= model.id %>">
2
2
  <div class="row">
3
3
  <div class="columns medium-10 medium-offset-1 help-text">
4
- <%= decidim_sanitize translated_attribute(conference.registration_terms) %>
4
+ <%= decidim_sanitize_editor translated_attribute(conference.registration_terms) %>
5
5
  </div>
6
6
  </div>
7
7
  <div class="row">
@@ -22,7 +22,7 @@ module Decidim
22
22
  end
23
23
 
24
24
  def description
25
- decidim_sanitize translated_attribute model.description
25
+ decidim_sanitize_editor translated_attribute model.description
26
26
  end
27
27
 
28
28
  def price
@@ -7,11 +7,11 @@ module Decidim
7
7
  #
8
8
  class ConferenceUserRolesController < Decidim::Conferences::Admin::ApplicationController
9
9
  include Concerns::ConferenceAdmin
10
- include Decidim::Paginable
10
+ include Decidim::Admin::Officializations::Filterable
11
11
 
12
12
  def index
13
13
  enforce_permission_to :index, :conference_user_role
14
- @conference_user_roles = paginate(collection)
14
+ @conference_user_roles = filtered_collection
15
15
  end
16
16
 
17
17
  def new
@@ -90,11 +90,18 @@ module Decidim
90
90
 
91
91
  private
92
92
 
93
+ def search_field_predicate
94
+ :name_or_nickname_or_email_cont
95
+ end
96
+
97
+ def filters
98
+ [:invitation_accepted_at_present, :last_sign_in_at_present]
99
+ end
100
+
93
101
  def collection
94
102
  @collection ||= Decidim::ConferenceUserRole
95
- .includes(:user)
103
+ .joins(:user)
96
104
  .where(conference: current_conference)
97
- .order(:role, "decidim_users.name")
98
105
  end
99
106
  end
100
107
  end
@@ -19,6 +19,26 @@ module Decidim
19
19
  Decidim::Conferences::AdminLog::ConferenceUserRolePresenter
20
20
  end
21
21
 
22
+ ransacker :name do
23
+ Arel.sql(%{("decidim_users"."name")::text})
24
+ end
25
+
26
+ ransacker :nickname do
27
+ Arel.sql(%{("decidim_users"."nickname")::text})
28
+ end
29
+
30
+ ransacker :email do
31
+ Arel.sql(%{("decidim_users"."email")::text})
32
+ end
33
+
34
+ ransacker :invitation_accepted_at do
35
+ Arel.sql(%{("decidim_users"."invitation_accepted_at")::text})
36
+ end
37
+
38
+ ransacker :last_sign_in_at do
39
+ Arel.sql(%{("decidim_users"."last_sign_in_at")::text})
40
+ end
41
+
22
42
  private
23
43
 
24
44
  # Private: check if the process and the user have the same organization
@@ -7,17 +7,18 @@
7
7
  <% end %>
8
8
  </h2>
9
9
  </div>
10
+ <%= admin_filter_selector %>
10
11
 
11
12
  <div class="card-section">
12
13
  <div class="table-scroll">
13
- <table class="stack">
14
+ <table class="stack table-list">
14
15
  <thead>
15
16
  <tr>
16
- <th><%= t("models.conference_user_role.fields.name", scope: "decidim.admin") %></th>
17
- <th><%= t("models.conference_user_role.fields.email", scope: "decidim.admin") %></th>
18
- <th><%= t("models.user.fields.invitation_sent_at", scope: "decidim.admin") %></th>
19
- <th><%= t("models.user.fields.invitation_accepted_at", scope: "decidim.admin") %></th>
20
- <th><%= t("models.conference_user_role.fields.role", scope: "decidim.admin") %></th>
17
+ <th><%= sort_link(query, :name,t("models.conference_user_role.fields.name", scope: "decidim.admin"), default_order: :desc) %></th>
18
+ <th><%= sort_link(query, :email, t("models.conference_user_role.fields.email", scope: "decidim.admin"), default_order: :desc) %></th>
19
+ <th><%= sort_link(query, :last_sign_in_at, t("models.user.fields.last_sign_in_at", scope: "decidim.admin"), default_order: :desc) %></th>
20
+ <th><%= sort_link(query, :invitation_accepted_at, t("models.user.fields.invitation_accepted_at", scope: "decidim.admin"), default_order: :desc) %></th>
21
+ <th><%= sort_link(query, :role, t("models.conference_user_role.fields.role", scope: "decidim.admin"), default_order: :desc) %></th>
21
22
  <th class="actions"></th>
22
23
  </tr>
23
24
  </thead>
@@ -22,7 +22,7 @@
22
22
  <tr>
23
23
  <td>
24
24
  <% if conference.promoted? %>
25
- <span data-tooltip class="icon-state icon-highlight" aria-haspopup="true" data-disable-hover="false" title="<%= t("models.conference.fields.promoted", scope: "decidim.admin") %>">
25
+ <span data-tooltip class="icon-state icon-highlight" data-disable-hover="false" title="<%= t("models.conference.fields.promoted", scope: "decidim.admin") %>">
26
26
  <%= icon "star", aria_label: t("models.conference.fields.promoted", scope: "decidim.admin"), role: "img" %>
27
27
  </span>
28
28
  <% end %>
@@ -43,7 +43,7 @@
43
43
  <strong><%= t(".content") %></strong>
44
44
  </div>
45
45
  <div class="column medium-10">
46
- <%= decidim_sanitize(present(meeting).description(links: true)) %>
46
+ <%= decidim_sanitize_editor(present(meeting).description(links: true)) %>
47
47
  </div>
48
48
  </div>
49
49
  <% end %>
@@ -5,7 +5,7 @@
5
5
  <%= link_to conference_path(promoted_conference), class: "card__link" do %>
6
6
  <h2 class="card__title"><%= translated_attribute promoted_conference.title %></h2>
7
7
  <% end %>
8
- <%= decidim_sanitize html_truncate(translated_attribute(promoted_conference.short_description), length: 630, separator: "...") %>
8
+ <%= decidim_sanitize_editor html_truncate(translated_attribute(promoted_conference.short_description), length: 630, separator: "...") %>
9
9
  <%= link_to conference_path(promoted_conference), class: "button small hollow card__button" do %>
10
10
  <%= t("conferences.promoted_conference.more_info", scope: "layouts.decidim") %>
11
11
  <% end %>
@@ -20,12 +20,12 @@ edit_link(
20
20
  <div class="columns mediumlarge-12">
21
21
  <section class="section">
22
22
  <h3 class="section-heading"><%= t("conferences.show.introduction", scope: "decidim") %></h3>
23
- <%= decidim_sanitize translated_attribute(current_participatory_space.short_description) %>
23
+ <%= decidim_sanitize_editor translated_attribute(current_participatory_space.short_description) %>
24
24
  </section>
25
25
  <hr class="reset mt-none mb-m">
26
26
  <section class="section">
27
27
  <h3 class="section-heading"><%= t("conferences.show.details", scope: "decidim") %></h3>
28
- <%= decidim_sanitize translated_attribute(current_participatory_space.description) %>
28
+ <%= decidim_sanitize_editor translated_attribute(current_participatory_space.description) %>
29
29
  <div class="row mt-l mb-l">
30
30
  <div class="column medium-9 medium-centered">
31
31
  <% if current_participatory_space.registrations_enabled? %>
@@ -71,7 +71,7 @@ edit_link(
71
71
  <% unless translated_attribute(current_participatory_space.objectives).blank? %>
72
72
  <section class="section">
73
73
  <h3 class="section-heading"><%= t("conferences.show.objectives", scope: "decidim") %></h3>
74
- <%= decidim_sanitize translated_attribute(current_participatory_space.objectives) %>
74
+ <%= decidim_sanitize_editor translated_attribute(current_participatory_space.objectives) %>
75
75
  </section>
76
76
  <% end %>
77
77
 
@@ -538,7 +538,7 @@ cs:
538
538
  details: Podrobnosti
539
539
  introduction: Úvod
540
540
  objectives: Cíle
541
- related_assemblies: Související sestavy
541
+ related_assemblies: Související shromáždění
542
542
  related_consultations: Související konzultace
543
543
  related_participatory_processes: Související procesy účasti
544
544
  events:
@@ -37,13 +37,13 @@ eu:
37
37
  date: Data
38
38
  link: Lotura
39
39
  title: Izenburua
40
- weight: pisu
40
+ weight: Pisua
41
41
  conference_partner:
42
42
  link: Lotura
43
43
  logo: Logoa
44
44
  name: Izena
45
45
  partner_type: Lankidetza mota
46
- weight: pisu
46
+ weight: Pisua
47
47
  conference_registration_invite:
48
48
  email: Helbide elektronikoa
49
49
  name: Izena
@@ -53,7 +53,7 @@ eu:
53
53
  description: Deskribapena
54
54
  price: Prezioa
55
55
  title: Izenburua
56
- weight: pisu
56
+ weight: Pisua
57
57
  conference_speaker:
58
58
  affiliation: Kidetza
59
59
  avatar: Avatarra
@@ -177,10 +177,10 @@ eu:
177
177
  media_links_title: Media Links
178
178
  new:
179
179
  create: Sortu
180
- title: Media Link
180
+ title: Multimedia Lotura
181
181
  update:
182
- error: Errore bat gertatu da komunikazio-esteka hau eguneratzean.
183
- success: Media Link eguneratu behar bezala.
182
+ error: Errore bat gertatu da multimedia link hau eguneratzean.
183
+ success: Multimedia linka behar bezala eguneratuta.
184
184
  menu:
185
185
  conferences: Jardunaldiak
186
186
  conferences_submenu:
@@ -212,29 +212,29 @@ eu:
212
212
  affiliation: Afiliazioa
213
213
  full_name: Izen osoa
214
214
  position: Kargua
215
- name: Hitzaldi Hizlaria
215
+ name: Hizlaria
216
216
  conference_user_role:
217
217
  fields:
218
218
  email: Emaila
219
219
  name: izena
220
- role: Role
221
- name: Konferentzia Erabiltzailea
220
+ role: Rola
221
+ name: Jardunaldiaren administratzailea
222
222
  roles:
223
223
  admin: Administrator
224
- collaborator: Kolaboratzaile
225
- moderator: Moderatzaile
224
+ collaborator: Kolaboratzailea
225
+ moderator: Moderatzailea
226
226
  valuator: Ebaluatzailea
227
227
  media_link:
228
228
  fields:
229
- date: data
230
- link: Link
229
+ date: Data
230
+ link: Linka
231
231
  title: Izenburua
232
- name: Media Link
232
+ name: Multimedia linka
233
233
  partner:
234
234
  fields:
235
- link: Link
236
- logo: Logotipo
237
- name: izena
235
+ link: Linka
236
+ logo: Logotipoa
237
+ name: Izena
238
238
  partner_type: Mota
239
239
  name: Partner
240
240
  types:
@@ -242,7 +242,7 @@ eu:
242
242
  main_promotor: Garapen nagusia
243
243
  registration_type:
244
244
  fields:
245
- conference_meetings: Bilera bilerak
245
+ conference_meetings: Hitzaldiaren topaketak
246
246
  price: Prezioa
247
247
  registrations_count: Erregistroak zenbatzea
248
248
  title: Izenburua
@@ -374,7 +374,7 @@ eu:
374
374
  slug_help: 'URL slugs erabiltzen dira konferentzia honetara bidaltzen dituzten URLak sortzeko. Letrak, zenbakiak eta marratxoak soilik onartzen ditu eta letra batekin hasi behar duzu. Adibidea: %{url}'
375
375
  diplomas:
376
376
  edit:
377
- save: Save
377
+ save: Gorde
378
378
  title: Asistentzia ziurtagiria
379
379
  invite_join_conference_mailer:
380
380
  invite:
@@ -55,12 +55,12 @@ fr-CA:
55
55
  title: Titre
56
56
  weight: Rang d'affichage
57
57
  conference_speaker:
58
- affiliation: Affiliation
58
+ affiliation: Organisme
59
59
  avatar: Image de profil
60
60
  conference_meeting_ids: Réunions connexes
61
61
  full_name: Nom complet
62
62
  personal_url: URL personnelle
63
- position: Position
63
+ position: Profession
64
64
  short_bio: Courte bio
65
65
  twitter_handle: Gestionnaire Twitter
66
66
  user_id: Utilisateur
@@ -3,7 +3,7 @@ fr:
3
3
  attributes:
4
4
  conference:
5
5
  assemblies_ids: Assemblées associées
6
- available_slots: Emplacements disponibles
6
+ available_slots: Nombre de places disponibles
7
7
  banner_image: Image d'en-tête
8
8
  consultations_ids: Votations associées
9
9
  copy_categories: Copier les catégories
@@ -45,22 +45,22 @@ fr:
45
45
  partner_type: Type de partenaire
46
46
  weight: Rang d'affichage
47
47
  conference_registration_invite:
48
- email: Courriel
48
+ email: Email
49
49
  name: Nom
50
50
  registration_type_id: Type d'inscription
51
- user_id: Utilisateur·rice
51
+ user_id: Utilisateur
52
52
  conference_registration_type:
53
53
  description: Description
54
54
  price: Prix
55
55
  title: Titre
56
56
  weight: Rang d'affichage
57
57
  conference_speaker:
58
- affiliation: Affiliation
59
- avatar: Image de profil
60
- conference_meeting_ids: Réunions connexes
58
+ affiliation: Organisme
59
+ avatar: Avatar
60
+ conference_meeting_ids: Rencontres associées
61
61
  full_name: Nom complet
62
- personal_url: URL personnelle
63
- position: Position
62
+ personal_url: Site internet personnel
63
+ position: Profession
64
64
  short_bio: Courte bio
65
65
  twitter_handle: Gestionnaire Twitter
66
66
  user_id: Utilisateur
@@ -246,7 +246,7 @@ fr:
246
246
  price: Prix
247
247
  registrations_count: Nombre d'inscriptions
248
248
  title: Titre
249
- weight: Rang
249
+ weight: Rang d'affichage
250
250
  name: Type d'inscription
251
251
  partners:
252
252
  create:
@@ -29,7 +29,7 @@ ja:
29
29
  sign_date: 署名日
30
30
  signature: 署名
31
31
  signature_name: 署名の名前
32
- slogan: Slogan
32
+ slogan: スローガン
33
33
  slug: URL スラグ
34
34
  start_date: 開始日
35
35
  title: タイトル
@@ -194,7 +194,7 @@ ja:
194
194
  media_links: メディアリンク
195
195
  moderations: モデレーション
196
196
  partners: パートナー
197
- registration_types: 登録タイプ
197
+ registration_types: 登録種別
198
198
  registrations: 登録
199
199
  user_registrations: ユーザー登録
200
200
  models:
@@ -206,7 +206,7 @@ ja:
206
206
  title: タイトル
207
207
  conference_speaker:
208
208
  fields:
209
- affiliation: Affiliation
209
+ affiliation: 所属
210
210
  full_name: フルネーム
211
211
  position: ポジション
212
212
  name: カンファレンススピーカー
@@ -218,9 +218,9 @@ ja:
218
218
  name: カンファレンス管理
219
219
  roles:
220
220
  admin: 管理者
221
- collaborator: 共同編集者
221
+ collaborator: コラボレーター
222
222
  moderator: モデレーター
223
- valuator: Valuator
223
+ valuator: 評価者
224
224
  media_link:
225
225
  fields:
226
226
  date: 日付
@@ -235,11 +235,11 @@ ja:
235
235
  partner_type: タイプ
236
236
  name: パートナー
237
237
  types:
238
- collaborator: 共同編集者
238
+ collaborator: コラボレーター
239
239
  main_promotor: 主プロモーター(プロモーター)
240
240
  registration_type:
241
241
  fields:
242
- conference_meetings: カンファレンスの会議
242
+ conference_meetings: カンファレンスのミーティング
243
243
  price: 価格
244
244
  registrations_count: 登録数
245
245
  title: タイトル
@@ -270,18 +270,18 @@ ja:
270
270
  registration_types:
271
271
  create:
272
272
  error: このカンファレンスに登録タイプを追加する際に問題がありました。
273
- success: カンファレンスの登録タイプを追加しました。
273
+ success: カンファレンスの登録種別を追加しました。
274
274
  destroy:
275
- success: カンファレンスの登録タイプを削除しました。
275
+ success: カンファレンスの登録種別を削除しました。
276
276
  edit:
277
- title: 登録タイプの更新。
277
+ title: 登録種別の更新。
278
278
  update: 更新
279
279
  new:
280
280
  create: 作成
281
- title: 新規登録タイプ
281
+ title: 新規登録種別
282
282
  update:
283
- error: このカンファレンスの登録タイプの更新に問題がありました。
284
- success: カンファレンスの登録タイプを更新しました。
283
+ error: このカンファレンスの登録種別の更新に問題がありました。
284
+ success: カンファレンスの登録種別を更新しました。
285
285
  titles:
286
286
  conferences: カンファレンス
287
287
  admin_log:
@@ -335,7 +335,7 @@ ja:
335
335
  attendee_type: 参加者の種類
336
336
  existing_user: 既存の参加者
337
337
  invite_explanation: 参加者は、カンファレンスや組織にも招待されます。
338
- non_user: 非既存の参加者
338
+ non_user: 非参加者
339
339
  select_user: 参加者を選択
340
340
  index:
341
341
  filter:
@@ -344,20 +344,20 @@ ja:
344
344
  rejected: 拒否
345
345
  sent: 送信済み
346
346
  filter_by: フィルター
347
- invite_attendee: Invite participant
347
+ invite_attendee: 参加者の招待
348
348
  invites: 招待
349
349
  search: 検索
350
350
  new:
351
351
  explanation: 参加者はカンファレンスに招待されます。 参加者の電子メールが組織に登録されていない場合、同様に組織に招待されます。
352
352
  invite: 招待
353
- new_invite: Invite participant
353
+ new_invite: 参加者の招待
354
354
  conference_registrations:
355
355
  index:
356
356
  registrations: 登録
357
357
  conference_speakers:
358
358
  form:
359
359
  existing_user: 既存の参加者
360
- non_user: Non participant
360
+ non_user: 非参加者
361
361
  select_user: 参加者を選択
362
362
  user_type: 参加者の種類
363
363
  index:
@@ -382,9 +382,9 @@ ja:
382
382
  title: パートナー
383
383
  registration_types:
384
384
  form:
385
- select_conference_meetings: カンファレンス会議の選択
385
+ select_conference_meetings: カンファレンスミーティングの選択
386
386
  index:
387
- title: 登録タイプ
387
+ title: 登録種別
388
388
  send_conference_diploma_mailer:
389
389
  diploma:
390
390
  diploma_html: 添付ファイルに、カンファレンス <a href="%{url}">%{title}</a> の出席証明書があります。
@@ -515,7 +515,7 @@ ja:
515
515
  login_as: '%{name} <%{email} >としてログインしています'
516
516
  no_registrations: 登録なし
517
517
  register: 登録
518
- title: 登録タイプ
518
+ title: 登録種別
519
519
  shared:
520
520
  conference_user_login:
521
521
  already_account: 既にアカウントをお持ちですか?
@@ -537,7 +537,7 @@ ja:
537
537
  notification_title: カンファレンス <a href="%{resource_url}">%{resource_title}</a> の登録が確認されました。
538
538
  conference_registrations_over_percentage:
539
539
  email_intro: '"%{resource_title}" カンファレンス参加率は %{percentage} %を超えています。'
540
- email_outro: あなたはカンファレンスの参加スペースの管理者であるため、この通知を受け取りました。
540
+ email_outro: あなたはカンファレンスの参加型スペースの管理者であるため、この通知を受け取りました。
541
541
  email_subject: '「%{resource_title}」カンファレンス参加率は %{percentage} %を超えています'
542
542
  notification_title: <a href="%{resource_path}">%{resource_title}</a> カンファレンス参加率は %{percentage} %を超えています。
543
543
  conference_updated: