diff --git a/app/components/companion_windows_component.html.erb b/app/components/companion_windows_component.html.erb index d28d4fcea..cc0b53b88 100644 --- a/app/components/companion_windows_component.html.erb +++ b/app/components/companion_windows_component.html.erb @@ -43,7 +43,7 @@ <% if render_content_list_panel? %>
- <%= render ContentListComponent.new(viewer:, heading: viewer.content_heading) %> + <%= render ContentListComponent.new(viewer:) %>
<% end %> diff --git a/app/components/content_list_component.rb b/app/components/content_list_component.rb index fdf83ecaf..911baca80 100644 --- a/app/components/content_list_component.rb +++ b/app/components/content_list_component.rb @@ -1,10 +1,13 @@ # frozen_string_literal: true class ContentListComponent < ViewComponent::Base - def initialize(viewer:, heading:) + def initialize(viewer:) @viewer = viewer - @heading = heading end - attr_reader :viewer, :heading + attr_reader :viewer + + def heading + t('content_list_heading', scope: viewer.i18n_path) + end end diff --git a/app/viewers/embed/viewer/common_viewer.rb b/app/viewers/embed/viewer/common_viewer.rb index 761582895..3f7458f95 100644 --- a/app/viewers/embed/viewer/common_viewer.rb +++ b/app/viewers/embed/viewer/common_viewer.rb @@ -106,8 +106,12 @@ def display_header? !embed_request.hide_title? end + def i18n_path + "viewers.#{self.class.name.demodulize.underscore}" + end + def iframe_title - I18n.t("viewers.#{self.class.name.demodulize.underscore}.title", default: 'Viewer') + I18n.t('title', default: 'Viewer', scope: i18n_path) end private diff --git a/app/viewers/embed/viewer/media.rb b/app/viewers/embed/viewer/media.rb index a0764212b..4a29113b9 100644 --- a/app/viewers/embed/viewer/media.rb +++ b/app/viewers/embed/viewer/media.rb @@ -11,11 +11,6 @@ def importmap 'media' end - # The heading shown in the Content List of the CompanionWindowComponent - def content_heading - 'Media content' - end - private def default_height diff --git a/app/viewers/embed/viewer/pdf_viewer.rb b/app/viewers/embed/viewer/pdf_viewer.rb index c3f9990dc..c0c160def 100644 --- a/app/viewers/embed/viewer/pdf_viewer.rb +++ b/app/viewers/embed/viewer/pdf_viewer.rb @@ -38,11 +38,6 @@ def available? document_resource_files.first&.downloadable? end - # The heading shown in the Content List of the CompanionWindowComponent - def content_heading - 'Contents' - end - private def document_resource_files diff --git a/config/environments/test.rb b/config/environments/test.rb index 14bc29e06..c188a4da3 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -4,6 +4,7 @@ # and recreated between test runs. Don't rely on the data there! Rails.application.configure do + config.i18n.raise_on_missing_translations = true # Settings specified here will take precedence over those in config/application.rb. # While tests run files are not watched, reloading is not necessary. diff --git a/config/locales/en.yml b/config/locales/en.yml index a0a0a0e78..dad1849a1 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -21,12 +21,12 @@ en: restrictions: - not_accessible: 'This item cannot be accessed online. See Access conditions for more information.' - logged_in: 'Logged in.' + not_accessible: "This item cannot be accessed online. See Access conditions for more information." + logged_in: "Logged in." date: formats: - sul: '%d-%b-%Y' - sul_was_long: '%d %B %Y' + sul: "%d-%b-%Y" + sul_was_long: "%d %B %Y" number: human: storage_units: @@ -34,20 +34,22 @@ en: kb: kB # This is the SI unit for 10^3 viewers: file: - title: 'File viewer' + title: "File viewer" geo: - title: 'Geospatial viewer' + title: "Geospatial viewer" m3_viewer: - title: 'Image viewer' + title: "Image viewer" media: - title: 'Media viewer' + title: "Media viewer" + content_list_heading: Media content pdf_viewer: - title: 'PDF viewer' + title: "PDF viewer" + content_list_heading: Contents model_viewer: - title: '3-D object viewer' + title: "3-D object viewer" was_seed: - title: 'File viewer' + title: "File viewer" download_files: - zero: 'No file available for download' - one: '1 file available for download' - other: '%{count} files available for download' + zero: "No file available for download" + one: "1 file available for download" + other: "%{count} files available for download"