1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 06:42:56 +08:00

Merge pull request #18131 from bdach/mod-overlay/localisation-strings

Add basic localisation strings for new mod select
This commit is contained in:
Salman Ahmed 2022-05-07 13:04:58 +03:00 committed by GitHub
commit 1fe6749baa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 83 additions and 8 deletions

View File

@ -59,6 +59,16 @@ namespace osu.Game.Localisation
/// </summary> /// </summary>
public static LocalisableString Importing => new TranslatableString(getKey(@"importing"), @"Importing..."); public static LocalisableString Importing => new TranslatableString(getKey(@"importing"), @"Importing...");
/// <summary>
/// "Deselect All"
/// </summary>
public static LocalisableString DeselectAll => new TranslatableString(getKey(@"deselect_all"), @"Deselect All");
/// <summary>
/// "Select All"
/// </summary>
public static LocalisableString SelectAll => new TranslatableString(getKey(@"select_all"), @"Select All");
private static string getKey(string key) => $@"{prefix}:{key}"; private static string getKey(string key) => $@"{prefix}:{key}";
} }
} }

View File

@ -0,0 +1,19 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. 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 DifficultyMultiplierDisplayStrings
{
private const string prefix = @"osu.Game.Resources.Localisation.DifficultyMultiplierDisplay";
/// <summary>
/// "Difficulty Multiplier"
/// </summary>
public static LocalisableString DifficultyMultiplier => new TranslatableString(getKey(@"difficulty_multiplier"), @"Difficulty Multiplier");
private static string getKey(string key) => $@"{prefix}:{key}";
}
}

View File

@ -0,0 +1,29 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. 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 ModSelectScreenStrings
{
private const string prefix = @"osu.Game.Resources.Localisation.ModSelectScreen";
/// <summary>
/// "Mod Select"
/// </summary>
public static LocalisableString ModSelectTitle => new TranslatableString(getKey(@"mod_select_title"), @"Mod Select");
/// <summary>
/// "Mods provide different ways to enjoy gameplay. Some have an effect on the score you can achieve during ranked play. Others are just for fun."
/// </summary>
public static LocalisableString ModSelectDescription => new TranslatableString(getKey(@"mod_select_description"), @"Mods provide different ways to enjoy gameplay. Some have an effect on the score you can achieve during ranked play. Others are just for fun.");
/// <summary>
/// "Mod Customisation"
/// </summary>
public static LocalisableString ModCustomisation => new TranslatableString(getKey(@"mod_customisation"), @"Mod Customisation");
private static string getKey(string key) => $@"{prefix}:{key}";
}
}

View File

@ -15,6 +15,7 @@ using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface; using osu.Game.Graphics.UserInterface;
using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Mods;
using osuTK; using osuTK;
using osu.Game.Localisation;
namespace osu.Game.Overlays.Mods namespace osu.Game.Overlays.Mods
{ {
@ -99,7 +100,7 @@ namespace osu.Game.Overlays.Mods
Origin = Anchor.Centre, Origin = Anchor.Centre,
Margin = new MarginPadding { Horizontal = 18 }, Margin = new MarginPadding { Horizontal = 18 },
Shear = new Vector2(-ShearedOverlayContainer.SHEAR, 0), Shear = new Vector2(-ShearedOverlayContainer.SHEAR, 0),
Text = "Difficulty Multiplier", Text = DifficultyMultiplierDisplayStrings.DifficultyMultiplier,
Font = OsuFont.Default.With(size: 17, weight: FontWeight.SemiBold) Font = OsuFont.Default.With(size: 17, weight: FontWeight.SemiBold)
} }
} }

View File

@ -5,6 +5,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -22,6 +23,7 @@ using osu.Framework.Input.Events;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Containers; using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface; using osu.Game.Graphics.UserInterface;
using osu.Game.Localisation;
using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Mods;
using osu.Game.Utils; using osu.Game.Utils;
using osuTK; using osuTK;
@ -220,7 +222,6 @@ namespace osu.Game.Overlays.Mods
Origin = Anchor.CentreLeft, Origin = Anchor.CentreLeft,
Scale = new Vector2(0.8f), Scale = new Vector2(0.8f),
RelativeSizeAxes = Axes.X, RelativeSizeAxes = Axes.X,
LabelText = "Enable All",
Shear = new Vector2(-ShearedOverlayContainer.SHEAR, 0) Shear = new Vector2(-ShearedOverlayContainer.SHEAR, 0)
}); });
panelFlow.Padding = new MarginPadding panelFlow.Padding = new MarginPadding
@ -265,6 +266,19 @@ namespace osu.Game.Overlays.Mods
contentBackground.Colour = colourProvider.Background4; contentBackground.Colour = colourProvider.Background4;
} }
protected override void LoadComplete()
{
base.LoadComplete();
toggleAllCheckbox?.Current.BindValueChanged(_ => updateToggleAllText(), true);
}
private void updateToggleAllText()
{
Debug.Assert(toggleAllCheckbox != null);
toggleAllCheckbox.LabelText = toggleAllCheckbox.Current.Value ? CommonStrings.DeselectAll : CommonStrings.SelectAll;
}
private void updateLocalAvailableMods() private void updateLocalAvailableMods()
{ {
var newMods = ModUtils.FlattenMods(availableMods.Value.GetValueOrDefault(ModType) ?? Array.Empty<Mod>()) var newMods = ModUtils.FlattenMods(availableMods.Value.GetValueOrDefault(ModType) ?? Array.Empty<Mod>())

View File

@ -23,6 +23,7 @@ using osu.Game.Input.Bindings;
using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Mods;
using osuTK; using osuTK;
using osuTK.Input; using osuTK.Input;
using osu.Game.Localisation;
namespace osu.Game.Overlays.Mods namespace osu.Game.Overlays.Mods
{ {
@ -58,12 +59,12 @@ namespace osu.Game.Overlays.Mods
{ {
customisationButton = new ShearedToggleButton(200) customisationButton = new ShearedToggleButton(200)
{ {
Text = "Mod Customisation", Text = ModSelectScreenStrings.ModCustomisation,
Active = { BindTarget = customisationVisible } Active = { BindTarget = customisationVisible }
}, },
new ShearedButton(200) new ShearedButton(200)
{ {
Text = "Deselect All", Text = CommonStrings.DeselectAll,
Action = DeselectAll Action = DeselectAll
} }
}; };
@ -80,8 +81,8 @@ namespace osu.Game.Overlays.Mods
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load() private void load()
{ {
Header.Title = "Mod Select"; Header.Title = ModSelectScreenStrings.ModSelectTitle;
Header.Description = "Mods provide different ways to enjoy gameplay. Some have an effect on the score you can achieve during ranked play. Others are just for fun."; Header.Description = ModSelectScreenStrings.ModSelectDescription;
AddRange(new Drawable[] AddRange(new Drawable[]
{ {

View File

@ -8,6 +8,7 @@ using osu.Game.Graphics.UserInterface;
using osu.Game.Overlays.Mods; using osu.Game.Overlays.Mods;
using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Mods;
using osuTK.Input; using osuTK.Input;
using osu.Game.Localisation;
namespace osu.Game.Screens.OnlinePlay namespace osu.Game.Screens.OnlinePlay
{ {
@ -34,14 +35,14 @@ namespace osu.Game.Screens.OnlinePlay
{ {
Anchor = Anchor.BottomLeft, Anchor = Anchor.BottomLeft,
Origin = Anchor.BottomLeft, Origin = Anchor.BottomLeft,
Text = "Select All", Text = CommonStrings.SelectAll,
Action = SelectAll Action = SelectAll
}, },
new ShearedButton(200) new ShearedButton(200)
{ {
Anchor = Anchor.BottomLeft, Anchor = Anchor.BottomLeft,
Origin = Anchor.BottomLeft, Origin = Anchor.BottomLeft,
Text = "Deselect All", Text = CommonStrings.DeselectAll,
Action = DeselectAll Action = DeselectAll
} }
}; };