diff --git a/osu.Game/Localisation/SongSelectStrings.cs b/osu.Game/Localisation/SongSelectStrings.cs
index e1ac328420..72c5643d52 100644
--- a/osu.Game/Localisation/SongSelectStrings.cs
+++ b/osu.Game/Localisation/SongSelectStrings.cs
@@ -19,6 +19,46 @@ namespace osu.Game.Localisation
///
public static LocalisableString LocallyModifiedTooltip => new TranslatableString(getKey(@"locally_modified_tooltip"), @"Has been locally modified");
+ ///
+ /// "General"
+ ///
+ public static LocalisableString General => new TranslatableString(getKey(@"general"), @"General");
+
+ ///
+ /// "Manage collections"
+ ///
+ public static LocalisableString ManageCollections => new TranslatableString(getKey(@"manage_collections"), @"Manage collections");
+
+ ///
+ /// "For all difficulties"
+ ///
+ public static LocalisableString ForAllDifficulties => new TranslatableString(getKey(@"for_all_difficulties"), @"For all difficulties");
+
+ ///
+ /// "Delete beatmap"
+ ///
+ public static LocalisableString DeleteBeatmap => new TranslatableString(getKey(@"delete_beatmap"), @"Delete beatmap");
+
+ ///
+ /// "For selected difficulty"
+ ///
+ public static LocalisableString ForSelectedDifficulty => new TranslatableString(getKey(@"for_selected_difficulty"), @"For selected difficulty");
+
+ ///
+ /// "Mark as played"
+ ///
+ public static LocalisableString MarkAsPlayed => new TranslatableString(getKey(@"mark_as_played"), @"Mark as played");
+
+ ///
+ /// "Clear all local scores"
+ ///
+ public static LocalisableString ClearAllLocalScores => new TranslatableString(getKey(@"clear_all_local_scores"), @"Clear all local scores");
+
+ ///
+ /// "Edit beatmap"
+ ///
+ public static LocalisableString EditBeatmap => new TranslatableString(getKey(@"edit_beatmap"), @"Edit beatmap");
+
private static string getKey(string key) => $@"{prefix}:{key}";
}
}
diff --git a/osu.Game/Screens/Select/FooterV2/BeatmapOptionsPopover.cs b/osu.Game/Screens/Select/FooterV2/BeatmapOptionsPopover.cs
index 817b05bdeb..20b9da4778 100644
--- a/osu.Game/Screens/Select/FooterV2/BeatmapOptionsPopover.cs
+++ b/osu.Game/Screens/Select/FooterV2/BeatmapOptionsPopover.cs
@@ -5,6 +5,7 @@ using System;
using System.Linq;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
+using osu.Framework.Extensions.LocalisationExtensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
@@ -21,6 +22,8 @@ using osu.Game.Overlays;
using osuTK;
using osuTK.Graphics;
using osuTK.Input;
+using osu.Game.Localisation;
+using CommonStrings = osu.Game.Resources.Localisation.Web.CommonStrings;
namespace osu.Game.Screens.Select.FooterV2
{
@@ -53,20 +56,20 @@ namespace osu.Game.Screens.Select.FooterV2
beatmapWhenOpening = beatmap.Value;
- addHeader("General");
- addButton(@"Manage collections", FontAwesome.Solid.Book, () => manageCollectionsDialog?.Show());
+ addHeader(SongSelectStrings.General);
+ addButton(SongSelectStrings.ManageCollections, FontAwesome.Solid.Book, () => manageCollectionsDialog?.Show());
- addHeader("For all difficulties", beatmapWhenOpening.BeatmapSetInfo.ToString());
- addButton(@"Delete beatmap", FontAwesome.Solid.Trash, () => songSelect?.DeleteBeatmap(beatmapWhenOpening.BeatmapSetInfo), colours.Red1);
+ addHeader(SongSelectStrings.ForAllDifficulties, beatmapWhenOpening.BeatmapSetInfo.ToString());
+ addButton(SongSelectStrings.DeleteBeatmap, FontAwesome.Solid.Trash, () => songSelect?.DeleteBeatmap(beatmapWhenOpening.BeatmapSetInfo), colours.Red1);
- addHeader("For selected difficulty", beatmapWhenOpening.BeatmapInfo.DifficultyName);
+ addHeader(SongSelectStrings.ForSelectedDifficulty, beatmapWhenOpening.BeatmapInfo.DifficultyName);
// TODO: make work, and make show "unplayed" or "played" based on status.
- addButton(@"Mark as played", FontAwesome.Regular.TimesCircle, null);
- addButton(@"Hide", FontAwesome.Solid.Magic, null);
- addButton(@"Clear all local scores", FontAwesome.Solid.Eraser, () => songSelect?.ClearScores(beatmapWhenOpening.BeatmapInfo), colours.Red1);
+ addButton(SongSelectStrings.MarkAsPlayed, FontAwesome.Regular.TimesCircle, null);
+ addButton(CommonStrings.ButtonsHide.ToSentence(), FontAwesome.Solid.Magic, null);
+ addButton(SongSelectStrings.ClearAllLocalScores, FontAwesome.Solid.Eraser, () => songSelect?.ClearScores(beatmapWhenOpening.BeatmapInfo), colours.Red1);
if (songSelect != null && songSelect.AllowEditing)
- addButton(@"Edit beatmap", FontAwesome.Solid.PencilAlt, () => songSelect.Edit(beatmapWhenOpening.BeatmapInfo));
+ addButton(SongSelectStrings.EditBeatmap, FontAwesome.Solid.PencilAlt, () => songSelect.Edit(beatmapWhenOpening.BeatmapInfo));
}
protected override void LoadComplete()
@@ -81,7 +84,7 @@ namespace osu.Game.Screens.Select.FooterV2
[Resolved]
private OverlayColourProvider overlayColourProvider { get; set; } = null!;
- private void addHeader(string text, string? context = null)
+ private void addHeader(LocalisableString text, string? context = null)
{
var textFlow = new OsuTextFlowContainer
{