diff --git a/osu.Game/Localisation/EditorSetupStrings.cs b/osu.Game/Localisation/EditorSetupStrings.cs
index eff6f9e6b8..350517734f 100644
--- a/osu.Game/Localisation/EditorSetupStrings.cs
+++ b/osu.Game/Localisation/EditorSetupStrings.cs
@@ -42,7 +42,8 @@ public static class EditorSetupStrings
///
/// "If enabled, an "Are you ready? 3, 2, 1, GO!" countdown will be inserted at the beginning of the beatmap, assuming there is enough time to do so."
///
- public static LocalisableString CountdownDescription => new TranslatableString(getKey(@"countdown_description"), @"If enabled, an ""Are you ready? 3, 2, 1, GO!"" countdown will be inserted at the beginning of the beatmap, assuming there is enough time to do so.");
+ public static LocalisableString CountdownDescription => new TranslatableString(getKey(@"countdown_description"),
+ @"If enabled, an ""Are you ready? 3, 2, 1, GO!"" countdown will be inserted at the beginning of the beatmap, assuming there is enough time to do so.");
///
/// "Countdown speed"
@@ -52,7 +53,8 @@ public static class EditorSetupStrings
///
/// "If the countdown sounds off-time, use this to make it appear one or more beats early."
///
- public static LocalisableString CountdownOffsetDescription => new TranslatableString(getKey(@"countdown_offset_description"), @"If the countdown sounds off-time, use this to make it appear one or more beats early.");
+ public static LocalisableString CountdownOffsetDescription =>
+ new TranslatableString(getKey(@"countdown_offset_description"), @"If the countdown sounds off-time, use this to make it appear one or more beats early.");
///
/// "Countdown offset"
@@ -67,7 +69,8 @@ public static class EditorSetupStrings
///
/// "Allows storyboards to use the full screen space, rather than be confined to a 4:3 area."
///
- public static LocalisableString WidescreenSupportDescription => new TranslatableString(getKey(@"widescreen_support_description"), @"Allows storyboards to use the full screen space, rather than be confined to a 4:3 area.");
+ public static LocalisableString WidescreenSupportDescription =>
+ new TranslatableString(getKey(@"widescreen_support_description"), @"Allows storyboards to use the full screen space, rather than be confined to a 4:3 area.");
///
/// "Epilepsy warning"
@@ -77,7 +80,8 @@ public static class EditorSetupStrings
///
/// "Recommended if the storyboard or video contain scenes with rapidly flashing colours."
///
- public static LocalisableString EpilepsyWarningDescription => new TranslatableString(getKey(@"epilepsy_warning_description"), @"Recommended if the storyboard or video contain scenes with rapidly flashing colours.");
+ public static LocalisableString EpilepsyWarningDescription =>
+ new TranslatableString(getKey(@"epilepsy_warning_description"), @"Recommended if the storyboard or video contain scenes with rapidly flashing colours.");
///
/// "Letterbox during breaks"
@@ -87,7 +91,8 @@ public static class EditorSetupStrings
///
/// "Adds horizontal letterboxing to give a cinematic look during breaks."
///
- public static LocalisableString LetterboxDuringBreaksDescription => new TranslatableString(getKey(@"letterbox_during_breaks_description"), @"Adds horizontal letterboxing to give a cinematic look during breaks.");
+ public static LocalisableString LetterboxDuringBreaksDescription =>
+ new TranslatableString(getKey(@"letterbox_during_breaks_description"), @"Adds horizontal letterboxing to give a cinematic look during breaks.");
///
/// "Samples match playback rate"
@@ -97,7 +102,8 @@ public static class EditorSetupStrings
///
/// "When enabled, all samples will speed up or slow down when rate-changing mods are enabled."
///
- public static LocalisableString SamplesMatchPlaybackRateDescription => new TranslatableString(getKey(@"samples_match_playback_rate_description"), @"When enabled, all samples will speed up or slow down when rate-changing mods are enabled.");
+ public static LocalisableString SamplesMatchPlaybackRateDescription => new TranslatableString(getKey(@"samples_match_playback_rate_description"),
+ @"When enabled, all samples will speed up or slow down when rate-changing mods are enabled.");
///
/// "The size of all hit objects"
@@ -117,7 +123,8 @@ public static class EditorSetupStrings
///
/// "The harshness of hit windows and difficulty of special objects (ie. spinners)"
///
- public static LocalisableString OverallDifficultyDescription => new TranslatableString(getKey(@"overall_difficulty_description"), @"The harshness of hit windows and difficulty of special objects (ie. spinners)");
+ public static LocalisableString OverallDifficultyDescription =>
+ new TranslatableString(getKey(@"overall_difficulty_description"), @"The harshness of hit windows and difficulty of special objects (ie. spinners)");
///
/// "Tick Rate"
@@ -127,7 +134,8 @@ public static class EditorSetupStrings
///
/// "Determines how many "ticks" are generated within long hit objects. A tick rate of 1 will generate ticks on each beat, 2 would be twice per beat, etc."
///
- public static LocalisableString TickRateDescription => new TranslatableString(getKey(@"tick_rate_description"), @"Determines how many ""ticks"" are generated within long hit objects. A tick rate of 1 will generate ticks on each beat, 2 would be twice per beat, etc.");
+ public static LocalisableString TickRateDescription => new TranslatableString(getKey(@"tick_rate_description"),
+ @"Determines how many ""ticks"" are generated within long hit objects. A tick rate of 1 will generate ticks on each beat, 2 would be twice per beat, etc.");
///
/// "Base Velocity"
@@ -137,7 +145,8 @@ public static class EditorSetupStrings
///
/// "The base velocity of the beatmap, affecting things like slider velocity and scroll speed in some rulesets."
///
- public static LocalisableString BaseVelocityDescription => new TranslatableString(getKey(@"base_velocity_description"), @"The base velocity of the beatmap, affecting things like slider velocity and scroll speed in some rulesets.");
+ public static LocalisableString BaseVelocityDescription => new TranslatableString(getKey(@"base_velocity_description"),
+ @"The base velocity of the beatmap, affecting things like slider velocity and scroll speed in some rulesets.");
///
/// "Metadata"
@@ -159,6 +168,11 @@ public static class EditorSetupStrings
///
public static LocalisableString Creator => new TranslatableString(getKey(@"creator"), @"Creator");
+ ///
+ /// "Source"
+ ///
+ public static LocalisableString Source => new TranslatableString(getKey(@"source"), @"Source");
+
///
/// "Difficulty Name"
///
diff --git a/osu.Game/Skinning/Components/BeatmapAttributeText.cs b/osu.Game/Skinning/Components/BeatmapAttributeText.cs
index 52c439a624..5c5e509fb2 100644
--- a/osu.Game/Skinning/Components/BeatmapAttributeText.cs
+++ b/osu.Game/Skinning/Components/BeatmapAttributeText.cs
@@ -48,6 +48,7 @@ public partial class BeatmapAttributeText : FontAdjustableSkinComponent
[BeatmapAttribute.Artist] = EditorSetupStrings.Artist,
[BeatmapAttribute.DifficultyName] = EditorSetupStrings.DifficultyHeader,
[BeatmapAttribute.Creator] = EditorSetupStrings.Creator,
+ [BeatmapAttribute.Source] = EditorSetupStrings.Source,
[BeatmapAttribute.Length] = ArtistStrings.TracklistLength.ToTitle(),
[BeatmapAttribute.RankedStatus] = BeatmapDiscussionsStrings.IndexFormBeatmapsetStatusDefault,
[BeatmapAttribute.BPM] = BeatmapsetsStrings.ShowStatsBpm,
@@ -88,6 +89,7 @@ private void updateBeatmapContent(WorkingBeatmap workingBeatmap)
valueDictionary[BeatmapAttribute.Artist] = new RomanisableString(workingBeatmap.BeatmapInfo.Metadata.ArtistUnicode, workingBeatmap.BeatmapInfo.Metadata.Artist);
valueDictionary[BeatmapAttribute.DifficultyName] = workingBeatmap.BeatmapInfo.DifficultyName;
valueDictionary[BeatmapAttribute.Creator] = workingBeatmap.BeatmapInfo.Metadata.Author.Username;
+ valueDictionary[BeatmapAttribute.Source] = workingBeatmap.BeatmapInfo.Metadata.Source;
valueDictionary[BeatmapAttribute.Length] = TimeSpan.FromMilliseconds(workingBeatmap.BeatmapInfo.Length).ToFormattedDuration();
valueDictionary[BeatmapAttribute.RankedStatus] = workingBeatmap.BeatmapInfo.Status.GetLocalisableDescription();
valueDictionary[BeatmapAttribute.BPM] = workingBeatmap.BeatmapInfo.BPM.ToLocalisableString(@"F2");
@@ -132,6 +134,7 @@ public enum BeatmapAttribute
StarRating,
Title,
Artist,
+ Source,
DifficultyName,
Creator,
Length,