diff --git a/osu.Game/Localisation/DailyChallengeStrings.cs b/osu.Game/Localisation/DailyChallengeStrings.cs index 32ff98db06..09c6089636 100644 --- a/osu.Game/Localisation/DailyChallengeStrings.cs +++ b/osu.Game/Localisation/DailyChallengeStrings.cs @@ -24,6 +24,51 @@ Tomorrow's challenge is now being prepared and will appear soon."); /// public static LocalisableString ChallengeLiveNotification => new TranslatableString(getKey(@"todays_daily_challenge_is_now"), @"Today's daily challenge is now live! Click here to play."); + /// + /// "Today's Challenge" + /// + public static LocalisableString TodaysChallenge => new TranslatableString(getKey(@"todays_challenge"), @"Today's Challenge"); + + /// + /// "Difficulty: {0}" + /// + public static LocalisableString DifficultyInfo(string difficultyName) => new TranslatableString(getKey(@"difficulty_info"), @"Difficulty: {0}", difficultyName); + + /// + /// "Time remaining" + /// + public static LocalisableString SectionTimeRemaining => new TranslatableString(getKey(@"section_time_remaining"), @"Time remaining"); + + /// + /// "Score breakdown" + /// + public static LocalisableString SectionScoreBreakdown => new TranslatableString(getKey(@"section_score_breakdown"), @"Score breakdown"); + + /// + /// "Total pass count" + /// + public static LocalisableString SectionTotalPasses => new TranslatableString(getKey(@"section_total_passes"), @"Total pass count"); + + /// + /// "Cumulative total score" + /// + public static LocalisableString SectionCumulativeScore => new TranslatableString(getKey(@"section_cumulative_score"), @"Cumulative total score"); + + /// + /// "Events" + /// + public static LocalisableString SectionEvents => new TranslatableString(getKey(@"section_events"), @"Events"); + + /// + /// "You" + /// + public static LocalisableString You => new TranslatableString(getKey(@"you"), @"You"); + + /// + /// "{0:N0} passes in {1:N0} - {2:N0} range" + /// + public static LocalisableString ScoreBreakdownBarTooltip(long passesCount, int minScore, int maxScore) => new TranslatableString(getKey(@"score_breakdown_bar_tooltip"), @"{0:N0} passes in {1:N0} - {2:N0} range", passesCount, minScore, maxScore); + private static string getKey(string key) => $@"{prefix}:{key}"; } } diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallenge.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallenge.cs index 97f80e1111..609d3fed80 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallenge.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallenge.cs @@ -322,7 +322,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge { footerButtons.Insert(-1, new UserModSelectButton { - Text = "Free mods", + Text = OnlinePlayStrings.FooterButtonFreemods, Anchor = Anchor.Centre, Origin = Anchor.Centre, RelativeSizeAxes = Axes.Y, diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeEventFeed.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeEventFeed.cs index 044c599ae9..f60863ece7 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeEventFeed.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeEventFeed.cs @@ -11,6 +11,7 @@ using osu.Framework.Utils; using osu.Game.Graphics; using osu.Game.Graphics.Containers; using osu.Game.Graphics.UserInterface; +using osu.Game.Localisation; using osu.Game.Screens.OnlinePlay.DailyChallenge.Events; using osu.Game.Users.Drawables; using osuTK; @@ -30,7 +31,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge { InternalChildren = new Drawable[] { - new SectionHeader("Events"), + new SectionHeader(DailyChallengeStrings.SectionEvents), new Container { RelativeSizeAxes = Axes.Both, diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeIntro.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeIntro.cs index 075d2af0aa..7df106e90a 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeIntro.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeIntro.cs @@ -17,9 +17,11 @@ using osu.Game.Beatmaps.Drawables; using osu.Game.Configuration; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; +using osu.Game.Localisation; using osu.Game.Online; using osu.Game.Online.Rooms; using osu.Game.Overlays; +using osu.Game.Resources.Localisation.Web; using osu.Game.Rulesets; using osu.Game.Screens.OnlinePlay.Match; using osu.Game.Screens.Play.HUD; @@ -145,7 +147,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Text = "Today's Challenge", + Text = DailyChallengeStrings.TodaysChallenge, Margin = new MarginPadding { Horizontal = 10f, Vertical = 5f }, Shear = -OsuGame.SHEAR, Font = OsuFont.GetFont(size: 32, weight: FontWeight.Light, typeface: Typeface.TorusAlternate), @@ -254,7 +256,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge }, new TruncatingSpriteText { - Text = $"Difficulty: {beatmap.DifficultyName}", + Text = DailyChallengeStrings.DifficultyInfo(beatmap.DifficultyName), Font = OsuFont.GetFont(size: 20, italics: true), MaxWidth = horizontal_info_size, Shear = -OsuGame.SHEAR, @@ -263,7 +265,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge }, new TruncatingSpriteText { - Text = $"by {beatmap.Metadata.Author.Username}", + Text = BeatmappacksStrings.ShowCreatedBy(beatmap.Metadata.Author.Username), Font = OsuFont.GetFont(size: 16, italics: true), MaxWidth = horizontal_info_size, Shear = -OsuGame.SHEAR, diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeLeaderboard.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeLeaderboard.cs index 62c5c0c8df..4c45e66371 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeLeaderboard.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeLeaderboard.cs @@ -12,6 +12,7 @@ using osu.Framework.Graphics.Containers; using osu.Game.Beatmaps; using osu.Game.Graphics.Containers; using osu.Game.Graphics.UserInterface; +using osu.Game.Localisation; using osu.Game.Online.API; using osu.Game.Online.Rooms; using osu.Game.Rulesets; @@ -80,7 +81,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge ], Content = new[] { - new Drawable[] { new SectionHeader("Leaderboard") }, + new Drawable[] { new SectionHeader(OnlinePlayStrings.PlaylistLeaderboard) }, new Drawable[] { new Container @@ -109,7 +110,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge } } }, - new Drawable[] { userBestHeader = new SectionHeader("Personal best") { Alpha = 0, } }, + new Drawable[] { userBestHeader = new SectionHeader(BeatmapLeaderboardWedgeStrings.PersonalBest) { Alpha = 0, } }, new Drawable[] { userBestContainer = new Container diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeScoreBreakdown.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeScoreBreakdown.cs index 71ab73b535..4b35a5483f 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeScoreBreakdown.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeScoreBreakdown.cs @@ -14,6 +14,7 @@ using osu.Framework.Localisation; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Game.Graphics.UserInterface; +using osu.Game.Localisation; using osu.Game.Online.Metadata; using osu.Game.Online.Rooms; using osu.Game.Overlays; @@ -36,7 +37,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge { InternalChildren = new Drawable[] { - new SectionHeader("Score breakdown"), + new SectionHeader(DailyChallengeStrings.SectionScoreBreakdown), barsContainer = new FillFlowContainer { Direction = FillDirection.Horizontal, @@ -215,7 +216,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge Anchor = Anchor.BottomCentre, Origin = Anchor.BottomCentre, Colour = colours.Orange1, - Text = "You", + Text = DailyChallengeStrings.You, Font = OsuFont.Default.With(weight: FontWeight.Bold), Alpha = 0, RelativePositionAxes = Axes.Y, @@ -285,7 +286,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge flashLayer.FadeOutFromOne(600, Easing.OutQuint); } - public LocalisableString TooltipText => LocalisableString.Format("{0:N0} passes in {1:N0} - {2:N0} range", count, BinStart, BinEnd); + public LocalisableString TooltipText => DailyChallengeStrings.ScoreBreakdownBarTooltip(count, BinStart, BinEnd); } } } diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTimeRemainingRing.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTimeRemainingRing.cs index bf01ee6b52..7aefab82d6 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTimeRemainingRing.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTimeRemainingRing.cs @@ -11,6 +11,7 @@ using osu.Framework.Threading; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Game.Graphics.UserInterface; +using osu.Game.Localisation; using osu.Game.Online.Rooms; using osu.Game.Overlays; using osuTK; @@ -40,7 +41,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge { InternalChildren = new Drawable[] { - new SectionHeader("Time remaining"), + new SectionHeader(DailyChallengeStrings.SectionTimeRemaining), new DrawSizePreservingFillContainer { RelativeSizeAxes = Axes.Both, diff --git a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTotalsDisplay.cs b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTotalsDisplay.cs index e2535ed806..e50ed44522 100644 --- a/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTotalsDisplay.cs +++ b/osu.Game/Screens/OnlinePlay/DailyChallenge/DailyChallengeTotalsDisplay.cs @@ -10,6 +10,7 @@ using osu.Framework.Localisation; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Game.Graphics.UserInterface; +using osu.Game.Localisation; using osu.Game.Screens.OnlinePlay.DailyChallenge.Events; using osuTK; @@ -42,7 +43,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge { new Drawable[] { - new SectionHeader("Total pass count") + new SectionHeader(DailyChallengeStrings.SectionTotalPasses) }, new Drawable[] { @@ -60,7 +61,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge }, new Drawable[] { - new SectionHeader("Cumulative total score") + new SectionHeader(DailyChallengeStrings.SectionCumulativeScore) }, new Drawable[] {