diff --git a/osu.Game/Localisation/CommonStrings.cs b/osu.Game/Localisation/CommonStrings.cs
index 3ea337c279..05c4d97ccc 100644
--- a/osu.Game/Localisation/CommonStrings.cs
+++ b/osu.Game/Localisation/CommonStrings.cs
@@ -19,6 +19,16 @@ namespace osu.Game.Localisation
///
public static LocalisableString Clear => new TranslatableString(getKey(@"clear"), @"Clear");
+ ///
+ /// "Back"
+ ///
+ public static LocalisableString Back => new TranslatableString(getKey(@"back"), @"Back");
+
+ ///
+ /// "Finish"
+ ///
+ public static LocalisableString Finish => new TranslatableString(getKey(@"finish"), @"Finish");
+
///
/// "Enabled"
///
diff --git a/osu.Game/Localisation/FirstRunSetupOverlayStrings.cs b/osu.Game/Localisation/FirstRunSetupOverlayStrings.cs
new file mode 100644
index 0000000000..ec2e97d82a
--- /dev/null
+++ b/osu.Game/Localisation/FirstRunSetupOverlayStrings.cs
@@ -0,0 +1,58 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+using osu.Framework.Localisation;
+
+namespace osu.Game.Localisation
+{
+ public static class FirstRunSetupOverlayStrings
+ {
+ private const string prefix = @"osu.Game.Resources.Localisation.FirstRunSetupOverlay";
+
+ ///
+ /// "Get started"
+ ///
+ public static LocalisableString GetStarted => new TranslatableString(getKey(@"get_started"), @"Get started");
+
+ ///
+ /// "Click to resume first-run setup at any point"
+ ///
+ public static LocalisableString ClickToResumeFirstRunSetupAtAnyPoint => new TranslatableString(getKey(@"click_to_resume_first_run_setup_at_any_point"), @"Click to resume first-run setup at any point");
+
+ ///
+ /// "First-run setup"
+ ///
+ public static LocalisableString FirstRunSetup => new TranslatableString(getKey(@"first_run_setup"), @"First-run setup");
+
+ ///
+ /// "Setup osu! to suit you"
+ ///
+ public static LocalisableString SetupOsuToSuitYou => new TranslatableString(getKey(@"setup_osu_to_suit_you"), @"Setup osu! to suit you");
+
+ ///
+ /// "Welcome"
+ ///
+ public static LocalisableString Welcome => new TranslatableString(getKey(@"welcome"), @"Welcome");
+
+ ///
+ /// "Welcome to the first-run setup guide!
+ ///
+ /// osu! is a very configurable game, and diving straight into the settings can sometimes be overwhelming. This guide will help you get the important choices out of the way to ensure a great first experience!"
+ ///
+ public static LocalisableString WelcomeDescription => new TranslatableString(getKey(@"welcome_description"), @"Welcome to the first-run setup guide!
+
+osu! is a very configurable game, and diving straight into the settings can sometimes be overwhelming. This guide will help you get the important choices out of the way to ensure a great first experience!");
+
+ ///
+ /// "The size of the osu! user interface size can be adjusted to your liking."
+ ///
+ public static LocalisableString UIScaleDescription => new TranslatableString(getKey(@"ui_scale_description"), @"The size of the osu! user interface size can be adjusted to your liking.");
+
+ ///
+ /// "Next ({0})"
+ ///
+ public static LocalisableString Next(LocalisableString nextStepDescription) => new TranslatableString(getKey(@"next"), @"Next ({0})", nextStepDescription);
+
+ private static string getKey(string key) => $@"{prefix}:{key}";
+ }
+}
diff --git a/osu.Game/Localisation/GeneralSettingsStrings.cs b/osu.Game/Localisation/GeneralSettingsStrings.cs
index c65e6c77f4..2aa91f5245 100644
--- a/osu.Game/Localisation/GeneralSettingsStrings.cs
+++ b/osu.Game/Localisation/GeneralSettingsStrings.cs
@@ -59,6 +59,11 @@ namespace osu.Game.Localisation
///
public static LocalisableString ChangeFolderLocation => new TranslatableString(getKey(@"change_folder_location"), @"Change folder location...");
+ ///
+ /// "Run setup wizard"
+ ///
+ public static LocalisableString RunSetupWizard => new TranslatableString(getKey(@"run_setup_wizard"), @"Run setup wizard");
+
private static string getKey(string key) => $"{prefix}:{key}";
}
}
diff --git a/osu.Game/Overlays/FirstRunSetup/ScreenUIScale.cs b/osu.Game/Overlays/FirstRunSetup/ScreenUIScale.cs
index 5070856087..80ff7bdf25 100644
--- a/osu.Game/Overlays/FirstRunSetup/ScreenUIScale.cs
+++ b/osu.Game/Overlays/FirstRunSetup/ScreenUIScale.cs
@@ -53,7 +53,7 @@ namespace osu.Game.Overlays.FirstRunSetup
{
new OsuTextFlowContainer(cp => cp.Font = OsuFont.Default.With(size: 24))
{
- Text = "The osu! user interface size can be adjusted to your liking.",
+ Text = FirstRunSetupOverlayStrings.UIScaleDescription,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y
},
diff --git a/osu.Game/Overlays/FirstRunSetup/ScreenWelcome.cs b/osu.Game/Overlays/FirstRunSetup/ScreenWelcome.cs
index 879ffdf198..9f80c80a02 100644
--- a/osu.Game/Overlays/FirstRunSetup/ScreenWelcome.cs
+++ b/osu.Game/Overlays/FirstRunSetup/ScreenWelcome.cs
@@ -5,6 +5,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
+using osu.Game.Localisation;
namespace osu.Game.Overlays.FirstRunSetup
{
@@ -22,8 +23,7 @@ namespace osu.Game.Overlays.FirstRunSetup
{
new OsuTextFlowContainer(cp => cp.Font = OsuFont.Default.With(size: 20))
{
- Text =
- "Welcome to the first-run setup guide!\n\nosu! is a very configurable game, and diving straight into the settings can sometimes be overwhelming. This guide will help you get the important choices out of the way to ensure a great first experience!",
+ Text = FirstRunSetupOverlayStrings.WelcomeDescription,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y
},
diff --git a/osu.Game/Overlays/FirstRunSetupOverlay.cs b/osu.Game/Overlays/FirstRunSetupOverlay.cs
index 27ff4aaabf..e8829136f0 100644
--- a/osu.Game/Overlays/FirstRunSetupOverlay.cs
+++ b/osu.Game/Overlays/FirstRunSetupOverlay.cs
@@ -18,6 +18,7 @@ using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
+using osu.Game.Localisation;
using osu.Game.Overlays.FirstRunSetup;
using osu.Game.Overlays.Notifications;
using osu.Game.Screens;
@@ -58,8 +59,8 @@ namespace osu.Game.Overlays
private readonly FirstRunStep[] steps =
{
- new FirstRunStep(typeof(ScreenWelcome), "Welcome"),
- new FirstRunStep(typeof(ScreenUIScale), "UI Scale"),
+ new FirstRunStep(typeof(ScreenWelcome), FirstRunSetupOverlayStrings.Welcome),
+ new FirstRunStep(typeof(ScreenUIScale), GraphicsSettingsStrings.UIScaling),
};
private Container stackContainer = null!;
@@ -129,7 +130,7 @@ namespace osu.Game.Overlays
{
new OsuSpriteText
{
- Text = "First run setup",
+ Text = FirstRunSetupOverlayStrings.FirstRunSetup,
Font = OsuFont.Default.With(size: 32),
Colour = colourProvider.Content2,
Anchor = Anchor.TopCentre,
@@ -137,7 +138,7 @@ namespace osu.Game.Overlays
},
new OsuTextFlowContainer
{
- Text = "Setup osu! to suit you",
+ Text = FirstRunSetupOverlayStrings.SetupOsuToSuitYou,
Colour = colourProvider.Content1,
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
@@ -184,7 +185,7 @@ namespace osu.Game.Overlays
BackButton = new DangerousTriangleButton
{
Width = 200,
- Text = "Back",
+ Text = CommonStrings.Back,
Action = showLastStep,
Enabled = { Value = false },
},
@@ -193,7 +194,7 @@ namespace osu.Game.Overlays
{
RelativeSizeAxes = Axes.X,
Width = 1,
- Text = "Get started",
+ Text = FirstRunSetupOverlayStrings.GetStarted,
Action = showNextStep
}
},
@@ -263,8 +264,8 @@ namespace osu.Game.Overlays
Debug.Assert(currentStepIndex != null);
NextButton.Text = currentStepIndex + 1 < steps.Length
- ? $"Next ({steps[currentStepIndex.Value + 1].Description})"
- : "Finish";
+ ? FirstRunSetupOverlayStrings.Next(steps[currentStepIndex.Value + 1].Description)
+ : CommonStrings.Finish;
}
protected override void PopIn()
@@ -286,7 +287,7 @@ namespace osu.Game.Overlays
{
notificationOverlay.Post(new SimpleNotification
{
- Text = "Click here to resume initial setup at any point",
+ Text = FirstRunSetupOverlayStrings.ClickToResumeFirstRunSetupAtAnyPoint,
Icon = FontAwesome.Solid.Horse,
Activated = () =>
{
diff --git a/osu.Game/Overlays/Settings/Sections/GeneralSection.cs b/osu.Game/Overlays/Settings/Sections/GeneralSection.cs
index 786db85bbf..ced3116728 100644
--- a/osu.Game/Overlays/Settings/Sections/GeneralSection.cs
+++ b/osu.Game/Overlays/Settings/Sections/GeneralSection.cs
@@ -28,7 +28,7 @@ namespace osu.Game.Overlays.Settings.Sections
{
new SettingsButton
{
- Text = "Run setup wizard",
+ Text = GeneralSettingsStrings.RunSetupWizard,
Action = () => firstRunSetupOverlay?.Show(),
},
new LanguageSettings(),