diff --git a/app/models/problem_check.rb b/app/models/problem_check.rb
index 43c4c6765aa..e8b07342b3b 100644
--- a/app/models/problem_check.rb
+++ b/app/models/problem_check.rb
@@ -169,12 +169,11 @@ class ProblemCheck
def problem(override_key: nil, override_data: {})
[
Problem.new(
- message ||
- I18n.t(
- override_key || translation_key,
- base_path: Discourse.base_path,
- **override_data.merge(translation_data).symbolize_keys,
- ),
+ I18n.t(
+ override_key || translation_key,
+ base_path: Discourse.base_path,
+ **override_data.merge(translation_data).symbolize_keys,
+ ),
priority: self.config.priority,
identifier:,
),
@@ -185,10 +184,6 @@ class ProblemCheck
[]
end
- def message
- nil
- end
-
def translation_key
"dashboard.problem.#{identifier}"
end
diff --git a/app/services/problem_check/out_of_date_themes.rb b/app/services/problem_check/out_of_date_themes.rb
index f298f88df96..0a5aacd4c1c 100644
--- a/app/services/problem_check/out_of_date_themes.rb
+++ b/app/services/problem_check/out_of_date_themes.rb
@@ -11,19 +11,23 @@ class ProblemCheck::OutOfDateThemes < ProblemCheck
private
+ def translation_data
+ { themes_list: }
+ end
+
def out_of_date_themes
@out_of_date_themes ||= RemoteTheme.out_of_date_themes
end
- def message
- "#{I18n.t("dashboard.problem.out_of_date_themes")}
"
- end
-
def themes_list
- out_of_date_themes
- .map do |name, id|
- "#{CGI.escapeHTML(name)}"
- end
- .join("\n")
+ <<~HTML.squish
+
+ HTML
end
end
diff --git a/app/services/problem_check/unreachable_themes.rb b/app/services/problem_check/unreachable_themes.rb
index 708700bdf9a..8ebd3f3b4b9 100644
--- a/app/services/problem_check/unreachable_themes.rb
+++ b/app/services/problem_check/unreachable_themes.rb
@@ -11,19 +11,23 @@ class ProblemCheck::UnreachableThemes < ProblemCheck
private
+ def translation_data
+ { themes_list: }
+ end
+
def unreachable_themes
@unreachable_themes ||= RemoteTheme.unreachable_themes
end
- def message
- "#{I18n.t("dashboard.problem.unreachable_themes")}"
- end
-
def themes_list
- unreachable_themes
- .map do |name, id|
- "#{CGI.escapeHTML(name)}"
- end
- .join("\n")
+ <<~HTML.squish
+
+ HTML
end
end
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 4d5031a8f45..5de98d755b9 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -1668,8 +1668,8 @@ en:
poll_pop3_timeout: "Connection to the POP3 server is timing out. Incoming email could not be retrieved. Please check your POP3 settings and service provider."
poll_pop3_auth_error: "Connection to the POP3 server is failing with an authentication error. Please check your POP3 settings."
force_https: "Your website is using SSL. But `force_https` is not yet enabled in your site settings."
- out_of_date_themes: "Updates are available for the following themes:"
- unreachable_themes: "We were unable to check for updates on the following themes:"
+ out_of_date_themes: "Updates are available for the following themes:%{themes_list}"
+ unreachable_themes: "We were unable to check for updates on the following themes:%{themes_list}"
watched_words: "The regular expression for %{action} watched words is invalid. Please check your Watched Word settings, or disable the 'watched words regular expressions' site setting."
google_analytics_version: "Your Discourse is currently using Google Analytics 3, which will no longer be supported after July 2023. Upgrade to Google Analytics 4 now to continue receiving valuable insights and analytics for your website's performance."
category_style_deprecated: "Your Discourse is currently using a deprecated category style which will be removed before the final beta release of Discourse 3.2. Please refer to Moving to a Single Category Style Site Setting for instructions on how to keep your selected category style."