diff --git a/osu.Game/Localisation/NotificationsStrings.cs b/osu.Game/Localisation/NotificationsStrings.cs
index 382e0d81f4..6a9793b20c 100644
--- a/osu.Game/Localisation/NotificationsStrings.cs
+++ b/osu.Game/Localisation/NotificationsStrings.cs
@@ -15,10 +15,52 @@ namespace osu.Game.Localisation
public static LocalisableString HeaderTitle => new TranslatableString(getKey(@"header_title"), @"notifications");
///
- /// "waiting for 'ya"
+ /// "waiting for 'ya"
///
public static LocalisableString HeaderDescription => new TranslatableString(getKey(@"header_description"), @"waiting for 'ya");
- private static string getKey(string key) => $"{prefix}:{key}";
+ ///
+ /// "Running Tasks"
+ ///
+ public static LocalisableString RunningTasks => new TranslatableString(getKey(@"running_tasks"), @"Running Tasks");
+
+ ///
+ /// "Clear All"
+ ///
+ public static LocalisableString ClearAll => new TranslatableString(getKey(@"clear_all"), @"Clear All");
+
+ ///
+ /// "Cancel All"
+ ///
+ public static LocalisableString CancelAll => new TranslatableString(getKey(@"cancel_all"), @"Cancel All");
+
+ ///
+ /// "Your battery level is low! Charge your device to prevent interruptions during gameplay."
+ ///
+ public static LocalisableString BatteryLow => new TranslatableString(getKey(@"battery_low"), @"Your battery level is low! Charge your device to prevent interruptions during gameplay.");
+
+ ///
+ /// "Your game volume is too low to hear anything! Click here to restore it."
+ ///
+ public static LocalisableString GameVolumeTooLow => new TranslatableString(getKey(@"game_volume_too_low"), @"Your game volume is too low to hear anything! Click here to restore it.");
+
+ ///
+ /// "The current ruleset doesn't have an autoplay mod available!"
+ ///
+ public static LocalisableString NoAutoplayMod => new TranslatableString(getKey(@"no_autoplay_mod"), @"The current ruleset doesn't have an autoplay mod available!");
+
+ ///
+ /// "osu! doesn't seem to be able to play audio correctly.\n\nPlease try changing your audio device to a working setting."
+ ///
+ public static LocalisableString AudioPlaybackIssue => new TranslatableString(getKey(@"audio_playback_issue"),
+ @"osu! doesn't seem to be able to play audio correctly.\n\nPlease try changing your audio device to a working setting.");
+
+ ///
+ /// "The score overlay is currently disabled. You can toggle this by pressing {0}."
+ ///
+ public static LocalisableString ScoreOverlayDisabled(LocalisableString arg0) => new TranslatableString(getKey(@"score_overlay_disabled"),
+ @"The score overlay is currently disabled. You can toggle this by pressing {0}.", arg0);
+
+ private static string getKey(string key) => $@"{prefix}:{key}";
}
}
diff --git a/osu.Game/Overlays/NotificationOverlay.cs b/osu.Game/Overlays/NotificationOverlay.cs
index 3f3c6551c6..71a4c58afd 100644
--- a/osu.Game/Overlays/NotificationOverlay.cs
+++ b/osu.Game/Overlays/NotificationOverlay.cs
@@ -92,8 +92,8 @@ namespace osu.Game.Overlays
RelativeSizeAxes = Axes.X,
Children = new[]
{
- new NotificationSection(AccountsStrings.NotificationsTitle, new[] { typeof(SimpleNotification) }, "Clear All"),
- new NotificationSection(@"Running Tasks", new[] { typeof(ProgressNotification) }, @"Cancel All"),
+ new NotificationSection(AccountsStrings.NotificationsTitle, new[] { typeof(SimpleNotification) }, NotificationsStrings.ClearAll),
+ new NotificationSection(NotificationsStrings.RunningTasks, new[] { typeof(ProgressNotification) }, NotificationsStrings.CancelAll),
}
}
}
diff --git a/osu.Game/Overlays/Notifications/NotificationSection.cs b/osu.Game/Overlays/Notifications/NotificationSection.cs
index d55a2abd2a..de4c72e473 100644
--- a/osu.Game/Overlays/Notifications/NotificationSection.cs
+++ b/osu.Game/Overlays/Notifications/NotificationSection.cs
@@ -33,15 +33,15 @@ namespace osu.Game.Overlays.Notifications
public IEnumerable AcceptedNotificationTypes { get; }
- private readonly string clearButtonText;
+ private readonly LocalisableString clearButtonText;
private readonly LocalisableString titleText;
- public NotificationSection(LocalisableString title, IEnumerable acceptedNotificationTypes, string clearButtonText)
+ public NotificationSection(LocalisableString title, IEnumerable acceptedNotificationTypes, LocalisableString clearButtonText)
{
AcceptedNotificationTypes = acceptedNotificationTypes.ToArray();
- this.clearButtonText = clearButtonText.ToUpperInvariant();
+ this.clearButtonText = clearButtonText.ToUpper();
titleText = title;
}
diff --git a/osu.Game/Screens/Menu/IntroScreen.cs b/osu.Game/Screens/Menu/IntroScreen.cs
index f632d9ee73..de7732dd5e 100644
--- a/osu.Game/Screens/Menu/IntroScreen.cs
+++ b/osu.Game/Screens/Menu/IntroScreen.cs
@@ -20,6 +20,7 @@ using osu.Game.Audio;
using osu.Game.Beatmaps;
using osu.Game.Configuration;
using osu.Game.Database;
+using osu.Game.Localisation;
using osu.Game.Online.API;
using osu.Game.Overlays;
using osu.Game.Overlays.Notifications;
@@ -201,7 +202,7 @@ namespace osu.Game.Screens.Menu
{
notifications.Post(new SimpleErrorNotification
{
- Text = "osu! doesn't seem to be able to play audio correctly.\n\nPlease try changing your audio device to a working setting."
+ Text = NotificationsStrings.AudioPlaybackIssue
});
}
}, 5000);
diff --git a/osu.Game/Screens/Play/HUDOverlay.cs b/osu.Game/Screens/Play/HUDOverlay.cs
index 4c2483a0e6..076d43c077 100644
--- a/osu.Game/Screens/Play/HUDOverlay.cs
+++ b/osu.Game/Screens/Play/HUDOverlay.cs
@@ -24,6 +24,7 @@ using osu.Game.Screens.Play.HUD;
using osu.Game.Screens.Play.HUD.ClicksPerSecond;
using osu.Game.Skinning;
using osuTK;
+using osu.Game.Localisation;
namespace osu.Game.Screens.Play
{
@@ -172,7 +173,7 @@ namespace osu.Game.Screens.Play
notificationOverlay?.Post(new SimpleNotification
{
- Text = $"The score overlay is currently disabled. You can toggle this by pressing {config.LookupKeyBindings(GlobalAction.ToggleInGameInterface)}."
+ Text = NotificationsStrings.ScoreOverlayDisabled(config.LookupKeyBindings(GlobalAction.ToggleInGameInterface))
});
}
diff --git a/osu.Game/Screens/Play/PlayerLoader.cs b/osu.Game/Screens/Play/PlayerLoader.cs
index 5cedd4f793..d9062da8aa 100644
--- a/osu.Game/Screens/Play/PlayerLoader.cs
+++ b/osu.Game/Screens/Play/PlayerLoader.cs
@@ -20,6 +20,7 @@ using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Input;
+using osu.Game.Localisation;
using osu.Game.Overlays;
using osu.Game.Overlays.Notifications;
using osu.Game.Screens.Menu;
@@ -130,16 +131,16 @@ namespace osu.Game.Screens.Play
private bool quickRestart;
- [Resolved(CanBeNull = true)]
+ [Resolved]
private INotificationOverlay? notificationOverlay { get; set; }
- [Resolved(CanBeNull = true)]
+ [Resolved]
private VolumeOverlay? volumeOverlay { get; set; }
[Resolved]
private AudioManager audioManager { get; set; } = null!;
- [Resolved(CanBeNull = true)]
+ [Resolved]
private BatteryInfo? batteryInfo { get; set; }
public PlayerLoader(Func createPlayer)
@@ -550,7 +551,7 @@ namespace osu.Game.Screens.Play
public MutedNotification()
{
- Text = "Your game volume is too low to hear anything! Click here to restore it.";
+ Text = NotificationsStrings.GameVolumeTooLow;
}
[BackgroundDependencyLoader]
@@ -605,7 +606,7 @@ namespace osu.Game.Screens.Play
public BatteryWarningNotification()
{
- Text = "Your battery level is low! Charge your device to prevent interruptions during gameplay.";
+ Text = NotificationsStrings.BatteryLow;
}
[BackgroundDependencyLoader]
diff --git a/osu.Game/Screens/Select/PlaySongSelect.cs b/osu.Game/Screens/Select/PlaySongSelect.cs
index f73cfe8d55..9edca1d0c0 100644
--- a/osu.Game/Screens/Select/PlaySongSelect.cs
+++ b/osu.Game/Screens/Select/PlaySongSelect.cs
@@ -8,6 +8,7 @@ using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.Events;
using osu.Framework.Screens;
using osu.Game.Graphics;
+using osu.Game.Localisation;
using osu.Game.Overlays;
using osu.Game.Overlays.Notifications;
using osu.Game.Rulesets.Mods;
@@ -24,7 +25,7 @@ namespace osu.Game.Screens.Select
{
private OsuScreen? playerLoader;
- [Resolved(CanBeNull = true)]
+ [Resolved]
private INotificationOverlay? notifications { get; set; }
public override bool AllowExternalScreenChange => true;
@@ -89,7 +90,7 @@ namespace osu.Game.Screens.Select
{
notifications?.Post(new SimpleNotification
{
- Text = "The current ruleset doesn't have an autoplay mod avalaible!"
+ Text = NotificationsStrings.NoAutoplayMod
});
return false;
}