mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 11:37:28 +08:00
Merge pull request #19693 from its5Q/editor-localisation
Add localisation support for beatmap editor setup
This commit is contained in:
commit
cbdd870ecf
@ -13,6 +13,7 @@ using osu.Framework.Graphics;
|
|||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
using osu.Framework.Graphics.Sprites;
|
using osu.Framework.Graphics.Sprites;
|
||||||
|
using osu.Framework.Localisation;
|
||||||
using osu.Game.Graphics.Containers;
|
using osu.Game.Graphics.Containers;
|
||||||
using osu.Game.Graphics.Sprites;
|
using osu.Game.Graphics.Sprites;
|
||||||
using osuTK;
|
using osuTK;
|
||||||
@ -26,9 +27,9 @@ namespace osu.Game.Graphics.UserInterfaceV2
|
|||||||
{
|
{
|
||||||
public BindableList<Colour4> Colours { get; } = new BindableList<Colour4>();
|
public BindableList<Colour4> Colours { get; } = new BindableList<Colour4>();
|
||||||
|
|
||||||
private string colourNamePrefix = "Colour";
|
private LocalisableString colourNamePrefix = "Colour";
|
||||||
|
|
||||||
public string ColourNamePrefix
|
public LocalisableString ColourNamePrefix
|
||||||
{
|
{
|
||||||
get => colourNamePrefix;
|
get => colourNamePrefix;
|
||||||
set
|
set
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
using osu.Framework.Bindables;
|
using osu.Framework.Bindables;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Framework.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Graphics.UserInterfaceV2
|
namespace osu.Game.Graphics.UserInterfaceV2
|
||||||
{
|
{
|
||||||
@ -17,7 +18,7 @@ namespace osu.Game.Graphics.UserInterfaceV2
|
|||||||
|
|
||||||
public BindableList<Colour4> Colours => Component.Colours;
|
public BindableList<Colour4> Colours => Component.Colours;
|
||||||
|
|
||||||
public string ColourNamePrefix
|
public LocalisableString ColourNamePrefix
|
||||||
{
|
{
|
||||||
get => Component.ColourNamePrefix;
|
get => Component.ColourNamePrefix;
|
||||||
set => Component.ColourNamePrefix = value;
|
set => Component.ColourNamePrefix = value;
|
||||||
|
204
osu.Game/Localisation/EditorSetupStrings.cs
Normal file
204
osu.Game/Localisation/EditorSetupStrings.cs
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
// 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 EditorSetupStrings
|
||||||
|
{
|
||||||
|
private const string prefix = @"osu.Game.Resources.Localisation.EditorSetup";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Beatmap Setup"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString BeatmapSetup => new TranslatableString(getKey(@"beatmap_setup"), @"Beatmap Setup");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "change general settings of your beatmap"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString BeatmapSetupDescription => new TranslatableString(getKey(@"beatmap_setup_description"), @"change general settings of your beatmap");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Colours"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ColoursHeader => new TranslatableString(getKey(@"colours_header"), @"Colours");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Hit circle / Slider Combos"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString HitCircleSliderCombos => new TranslatableString(getKey(@"hit_circle_slider_combos"), @"Hit circle / Slider Combos");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Design"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString DesignHeader => new TranslatableString(getKey(@"design_header"), @"Design");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Enable countdown"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString EnableCountdown => new TranslatableString(getKey(@"enable_countdown"), @"Enable countdown");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "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."
|
||||||
|
/// </summary>
|
||||||
|
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.");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Countdown speed"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString CountdownSpeed => new TranslatableString(getKey(@"countdown_speed"), @"Countdown speed");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "If the countdown sounds off-time, use this to make it appear one or more beats early."
|
||||||
|
/// </summary>
|
||||||
|
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.");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Countdown offset"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString CountdownOffset => new TranslatableString(getKey(@"countdown_offset"), @"Countdown offset");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Widescreen support"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString WidescreenSupport => new TranslatableString(getKey(@"widescreen_support"), @"Widescreen support");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Allows storyboards to use the full screen space, rather than be confined to a 4:3 area."
|
||||||
|
/// </summary>
|
||||||
|
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.");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Epilepsy warning"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString EpilepsyWarning => new TranslatableString(getKey(@"epilepsy_warning"), @"Epilepsy warning");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Recommended if the storyboard or video contain scenes with rapidly flashing colours."
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString EpilepsyWarningDescription => new TranslatableString(getKey(@"epilepsy_warning_description"), @"Recommended if the storyboard or video contain scenes with rapidly flashing colours.");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Letterbox during breaks"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString LetterboxDuringBreaks => new TranslatableString(getKey(@"letterbox_during_breaks"), @"Letterbox during breaks");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Adds horizontal letterboxing to give a cinematic look during breaks."
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString LetterboxDuringBreaksDescription => new TranslatableString(getKey(@"letterbox_during_breaks_description"), @"Adds horizontal letterboxing to give a cinematic look during breaks.");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Samples match playback rate"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString SamplesMatchPlaybackRate => new TranslatableString(getKey(@"samples_match_playback_rate"), @"Samples match playback rate");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "When enabled, all samples will speed up or slow down when rate-changing mods are enabled."
|
||||||
|
/// </summary>
|
||||||
|
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.");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "The size of all hit objects"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString CircleSizeDescription => new TranslatableString(getKey(@"circle_size_description"), @"The size of all hit objects");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "The rate of passive health drain throughout playable time"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString DrainRateDescription => new TranslatableString(getKey(@"drain_rate_description"), @"The rate of passive health drain throughout playable time");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "The speed at which objects are presented to the player"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ApproachRateDescription => new TranslatableString(getKey(@"approach_rate_description"), @"The speed at which objects are presented to the player");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "The harshness of hit windows and difficulty of special objects (ie. spinners)"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString OverallDifficultyDescription => new TranslatableString(getKey(@"overall_difficulty_description"), @"The harshness of hit windows and difficulty of special objects (ie. spinners)");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Metadata"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString MetadataHeader => new TranslatableString(getKey(@"metadata_header"), @"Metadata");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Romanised Artist"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString RomanisedArtist => new TranslatableString(getKey(@"romanised_artist"), @"Romanised Artist");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Romanised Title"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString RomanisedTitle => new TranslatableString(getKey(@"romanised_title"), @"Romanised Title");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Creator"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString Creator => new TranslatableString(getKey(@"creator"), @"Creator");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Difficulty Name"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString DifficultyName => new TranslatableString(getKey(@"difficulty_name"), @"Difficulty Name");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Resources"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ResourcesHeader => new TranslatableString(getKey(@"resources_header"), @"Resources");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Audio Track"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString AudioTrack => new TranslatableString(getKey(@"audio_track"), @"Audio Track");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Click to select a track"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ClickToSelectTrack => new TranslatableString(getKey(@"click_to_select_track"), @"Click to select a track");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Click to replace the track"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ClickToReplaceTrack => new TranslatableString(getKey(@"click_to_replace_track"), @"Click to replace the track");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Click to select a background image"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ClickToSelectBackground => new TranslatableString(getKey(@"click_to_select_background"), @"Click to select a background image");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Click to replace the background image"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ClickToReplaceBackground => new TranslatableString(getKey(@"click_to_replace_background"), @"Click to replace the background image");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Ruleset ({0})"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString RulesetHeader(string arg0) => new TranslatableString(getKey(@"ruleset"), @"Ruleset ({0})", arg0);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Combo"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString ComboColourPrefix => new TranslatableString(getKey(@"combo_colour_prefix"), @"Combo");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Artist"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString Artist => new TranslatableString(getKey(@"artist"), @"Artist");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Title"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString Title => new TranslatableString(getKey(@"title"), @"Title");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "Difficulty"
|
||||||
|
/// </summary>
|
||||||
|
public static LocalisableString DifficultyHeader => new TranslatableString(getKey(@"difficulty_header"), @"Difficulty");
|
||||||
|
|
||||||
|
private static string getKey(string key) => $@"{prefix}:{key}";
|
||||||
|
}
|
||||||
|
}
|
@ -7,12 +7,13 @@ using osu.Framework.Allocation;
|
|||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Localisation;
|
using osu.Framework.Localisation;
|
||||||
using osu.Game.Graphics.UserInterfaceV2;
|
using osu.Game.Graphics.UserInterfaceV2;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
internal class ColoursSection : SetupSection
|
internal class ColoursSection : SetupSection
|
||||||
{
|
{
|
||||||
public override LocalisableString Title => "Colours";
|
public override LocalisableString Title => EditorSetupStrings.ColoursHeader;
|
||||||
|
|
||||||
private LabelledColourPalette comboColours;
|
private LabelledColourPalette comboColours;
|
||||||
|
|
||||||
@ -23,9 +24,9 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
comboColours = new LabelledColourPalette
|
comboColours = new LabelledColourPalette
|
||||||
{
|
{
|
||||||
Label = "Hitcircle / Slider Combos",
|
Label = EditorSetupStrings.HitCircleSliderCombos,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
ColourNamePrefix = "Combo"
|
ColourNamePrefix = EditorSetupStrings.ComboColourPrefix
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ using osu.Framework.Localisation;
|
|||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Graphics.UserInterfaceV2;
|
using osu.Game.Graphics.UserInterfaceV2;
|
||||||
using osuTK;
|
using osuTK;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
@ -29,7 +30,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
private LabelledSwitchButton letterboxDuringBreaks;
|
private LabelledSwitchButton letterboxDuringBreaks;
|
||||||
private LabelledSwitchButton samplesMatchPlaybackRate;
|
private LabelledSwitchButton samplesMatchPlaybackRate;
|
||||||
|
|
||||||
public override LocalisableString Title => "Design";
|
public override LocalisableString Title => EditorSetupStrings.DesignHeader;
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
private void load()
|
private void load()
|
||||||
@ -38,9 +39,9 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
EnableCountdown = new LabelledSwitchButton
|
EnableCountdown = new LabelledSwitchButton
|
||||||
{
|
{
|
||||||
Label = "Enable countdown",
|
Label = EditorSetupStrings.EnableCountdown,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.Countdown != CountdownType.None },
|
Current = { Value = Beatmap.BeatmapInfo.Countdown != CountdownType.None },
|
||||||
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."
|
Description = EditorSetupStrings.CountdownDescription
|
||||||
},
|
},
|
||||||
CountdownSettings = new FillFlowContainer
|
CountdownSettings = new FillFlowContainer
|
||||||
{
|
{
|
||||||
@ -52,41 +53,41 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
CountdownSpeed = new LabelledEnumDropdown<CountdownType>
|
CountdownSpeed = new LabelledEnumDropdown<CountdownType>
|
||||||
{
|
{
|
||||||
Label = "Countdown speed",
|
Label = EditorSetupStrings.CountdownSpeed,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.Countdown != CountdownType.None ? Beatmap.BeatmapInfo.Countdown : CountdownType.Normal },
|
Current = { Value = Beatmap.BeatmapInfo.Countdown != CountdownType.None ? Beatmap.BeatmapInfo.Countdown : CountdownType.Normal },
|
||||||
Items = Enum.GetValues(typeof(CountdownType)).Cast<CountdownType>().Where(type => type != CountdownType.None)
|
Items = Enum.GetValues(typeof(CountdownType)).Cast<CountdownType>().Where(type => type != CountdownType.None)
|
||||||
},
|
},
|
||||||
CountdownOffset = new LabelledNumberBox
|
CountdownOffset = new LabelledNumberBox
|
||||||
{
|
{
|
||||||
Label = "Countdown offset",
|
Label = EditorSetupStrings.CountdownOffset,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.CountdownOffset.ToString() },
|
Current = { Value = Beatmap.BeatmapInfo.CountdownOffset.ToString() },
|
||||||
Description = "If the countdown sounds off-time, use this to make it appear one or more beats early.",
|
Description = EditorSetupStrings.CountdownOffsetDescription,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Empty(),
|
Empty(),
|
||||||
widescreenSupport = new LabelledSwitchButton
|
widescreenSupport = new LabelledSwitchButton
|
||||||
{
|
{
|
||||||
Label = "Widescreen support",
|
Label = EditorSetupStrings.WidescreenSupport,
|
||||||
Description = "Allows storyboards to use the full screen space, rather than be confined to a 4:3 area.",
|
Description = EditorSetupStrings.WidescreenSupportDescription,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.WidescreenStoryboard }
|
Current = { Value = Beatmap.BeatmapInfo.WidescreenStoryboard }
|
||||||
},
|
},
|
||||||
epilepsyWarning = new LabelledSwitchButton
|
epilepsyWarning = new LabelledSwitchButton
|
||||||
{
|
{
|
||||||
Label = "Epilepsy warning",
|
Label = EditorSetupStrings.EpilepsyWarning,
|
||||||
Description = "Recommended if the storyboard or video contain scenes with rapidly flashing colours.",
|
Description = EditorSetupStrings.EpilepsyWarningDescription,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.EpilepsyWarning }
|
Current = { Value = Beatmap.BeatmapInfo.EpilepsyWarning }
|
||||||
},
|
},
|
||||||
letterboxDuringBreaks = new LabelledSwitchButton
|
letterboxDuringBreaks = new LabelledSwitchButton
|
||||||
{
|
{
|
||||||
Label = "Letterbox during breaks",
|
Label = EditorSetupStrings.LetterboxDuringBreaks,
|
||||||
Description = "Adds horizontal letterboxing to give a cinematic look during breaks.",
|
Description = EditorSetupStrings.LetterboxDuringBreaksDescription,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.LetterboxInBreaks }
|
Current = { Value = Beatmap.BeatmapInfo.LetterboxInBreaks }
|
||||||
},
|
},
|
||||||
samplesMatchPlaybackRate = new LabelledSwitchButton
|
samplesMatchPlaybackRate = new LabelledSwitchButton
|
||||||
{
|
{
|
||||||
Label = "Samples match playback rate",
|
Label = EditorSetupStrings.SamplesMatchPlaybackRate,
|
||||||
Description = "When enabled, all samples will speed up or slow down when rate-changing mods are enabled.",
|
Description = EditorSetupStrings.SamplesMatchPlaybackRateDescription,
|
||||||
Current = { Value = Beatmap.BeatmapInfo.SamplesMatchPlaybackRate }
|
Current = { Value = Beatmap.BeatmapInfo.SamplesMatchPlaybackRate }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -11,6 +11,7 @@ using osu.Framework.Localisation;
|
|||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Graphics.UserInterfaceV2;
|
using osu.Game.Graphics.UserInterfaceV2;
|
||||||
using osu.Game.Resources.Localisation.Web;
|
using osu.Game.Resources.Localisation.Web;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
@ -21,7 +22,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
private LabelledSliderBar<float> approachRateSlider;
|
private LabelledSliderBar<float> approachRateSlider;
|
||||||
private LabelledSliderBar<float> overallDifficultySlider;
|
private LabelledSliderBar<float> overallDifficultySlider;
|
||||||
|
|
||||||
public override LocalisableString Title => "Difficulty";
|
public override LocalisableString Title => EditorSetupStrings.DifficultyHeader;
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
private void load()
|
private void load()
|
||||||
@ -32,7 +33,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
Label = BeatmapsetsStrings.ShowStatsCs,
|
Label = BeatmapsetsStrings.ShowStatsCs,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
Description = "The size of all hit objects",
|
Description = EditorSetupStrings.CircleSizeDescription,
|
||||||
Current = new BindableFloat(Beatmap.Difficulty.CircleSize)
|
Current = new BindableFloat(Beatmap.Difficulty.CircleSize)
|
||||||
{
|
{
|
||||||
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
||||||
@ -45,7 +46,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
Label = BeatmapsetsStrings.ShowStatsDrain,
|
Label = BeatmapsetsStrings.ShowStatsDrain,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
Description = "The rate of passive health drain throughout playable time",
|
Description = EditorSetupStrings.DrainRateDescription,
|
||||||
Current = new BindableFloat(Beatmap.Difficulty.DrainRate)
|
Current = new BindableFloat(Beatmap.Difficulty.DrainRate)
|
||||||
{
|
{
|
||||||
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
||||||
@ -58,7 +59,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
Label = BeatmapsetsStrings.ShowStatsAr,
|
Label = BeatmapsetsStrings.ShowStatsAr,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
Description = "The speed at which objects are presented to the player",
|
Description = EditorSetupStrings.ApproachRateDescription,
|
||||||
Current = new BindableFloat(Beatmap.Difficulty.ApproachRate)
|
Current = new BindableFloat(Beatmap.Difficulty.ApproachRate)
|
||||||
{
|
{
|
||||||
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
||||||
@ -71,7 +72,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
Label = BeatmapsetsStrings.ShowStatsAccuracy,
|
Label = BeatmapsetsStrings.ShowStatsAccuracy,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
Description = "The harshness of hit windows and difficulty of special objects (ie. spinners)",
|
Description = EditorSetupStrings.OverallDifficultyDescription,
|
||||||
Current = new BindableFloat(Beatmap.Difficulty.OverallDifficulty)
|
Current = new BindableFloat(Beatmap.Difficulty.OverallDifficulty)
|
||||||
{
|
{
|
||||||
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
Default = BeatmapDifficulty.DEFAULT_DIFFICULTY,
|
||||||
|
@ -10,6 +10,7 @@ using osu.Framework.Localisation;
|
|||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Graphics.UserInterfaceV2;
|
using osu.Game.Graphics.UserInterfaceV2;
|
||||||
using osu.Game.Resources.Localisation.Web;
|
using osu.Game.Resources.Localisation.Web;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
@ -26,7 +27,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
private LabelledTextBox sourceTextBox;
|
private LabelledTextBox sourceTextBox;
|
||||||
private LabelledTextBox tagsTextBox;
|
private LabelledTextBox tagsTextBox;
|
||||||
|
|
||||||
public override LocalisableString Title => "Metadata";
|
public override LocalisableString Title => EditorSetupStrings.MetadataHeader;
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
private void load()
|
private void load()
|
||||||
@ -35,22 +36,22 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
|
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
ArtistTextBox = createTextBox<LabelledTextBox>("Artist",
|
ArtistTextBox = createTextBox<LabelledTextBox>(EditorSetupStrings.Artist,
|
||||||
!string.IsNullOrEmpty(metadata.ArtistUnicode) ? metadata.ArtistUnicode : metadata.Artist),
|
!string.IsNullOrEmpty(metadata.ArtistUnicode) ? metadata.ArtistUnicode : metadata.Artist),
|
||||||
RomanisedArtistTextBox = createTextBox<LabelledRomanisedTextBox>("Romanised Artist",
|
RomanisedArtistTextBox = createTextBox<LabelledRomanisedTextBox>(EditorSetupStrings.RomanisedArtist,
|
||||||
!string.IsNullOrEmpty(metadata.Artist) ? metadata.Artist : MetadataUtils.StripNonRomanisedCharacters(metadata.ArtistUnicode)),
|
!string.IsNullOrEmpty(metadata.Artist) ? metadata.Artist : MetadataUtils.StripNonRomanisedCharacters(metadata.ArtistUnicode)),
|
||||||
|
|
||||||
Empty(),
|
Empty(),
|
||||||
|
|
||||||
TitleTextBox = createTextBox<LabelledTextBox>("Title",
|
TitleTextBox = createTextBox<LabelledTextBox>(EditorSetupStrings.Title,
|
||||||
!string.IsNullOrEmpty(metadata.TitleUnicode) ? metadata.TitleUnicode : metadata.Title),
|
!string.IsNullOrEmpty(metadata.TitleUnicode) ? metadata.TitleUnicode : metadata.Title),
|
||||||
RomanisedTitleTextBox = createTextBox<LabelledRomanisedTextBox>("Romanised Title",
|
RomanisedTitleTextBox = createTextBox<LabelledRomanisedTextBox>(EditorSetupStrings.RomanisedTitle,
|
||||||
!string.IsNullOrEmpty(metadata.Title) ? metadata.Title : MetadataUtils.StripNonRomanisedCharacters(metadata.ArtistUnicode)),
|
!string.IsNullOrEmpty(metadata.Title) ? metadata.Title : MetadataUtils.StripNonRomanisedCharacters(metadata.ArtistUnicode)),
|
||||||
|
|
||||||
Empty(),
|
Empty(),
|
||||||
|
|
||||||
creatorTextBox = createTextBox<LabelledTextBox>("Creator", metadata.Author.Username),
|
creatorTextBox = createTextBox<LabelledTextBox>(EditorSetupStrings.Creator, metadata.Author.Username),
|
||||||
difficultyTextBox = createTextBox<LabelledTextBox>("Difficulty Name", Beatmap.BeatmapInfo.DifficultyName),
|
difficultyTextBox = createTextBox<LabelledTextBox>(EditorSetupStrings.DifficultyName, Beatmap.BeatmapInfo.DifficultyName),
|
||||||
sourceTextBox = createTextBox<LabelledTextBox>(BeatmapsetsStrings.ShowInfoSource, metadata.Source),
|
sourceTextBox = createTextBox<LabelledTextBox>(BeatmapsetsStrings.ShowInfoSource, metadata.Source),
|
||||||
tagsTextBox = createTextBox<LabelledTextBox>(BeatmapsetsStrings.ShowInfoTags, metadata.Tags)
|
tagsTextBox = createTextBox<LabelledTextBox>(BeatmapsetsStrings.ShowInfoTags, metadata.Tags)
|
||||||
};
|
};
|
||||||
|
@ -10,6 +10,7 @@ using osu.Framework.Graphics;
|
|||||||
using osu.Framework.Localisation;
|
using osu.Framework.Localisation;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Overlays;
|
using osu.Game.Overlays;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
@ -18,7 +19,7 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
private LabelledFileChooser audioTrackChooser;
|
private LabelledFileChooser audioTrackChooser;
|
||||||
private LabelledFileChooser backgroundChooser;
|
private LabelledFileChooser backgroundChooser;
|
||||||
|
|
||||||
public override LocalisableString Title => "Resources";
|
public override LocalisableString Title => EditorSetupStrings.ResourcesHeader;
|
||||||
|
|
||||||
[Resolved]
|
[Resolved]
|
||||||
private MusicController music { get; set; }
|
private MusicController music { get; set; }
|
||||||
@ -42,13 +43,13 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
backgroundChooser = new LabelledFileChooser(".jpg", ".jpeg", ".png")
|
backgroundChooser = new LabelledFileChooser(".jpg", ".jpeg", ".png")
|
||||||
{
|
{
|
||||||
Label = "Background",
|
Label = GameplaySettingsStrings.BackgroundHeader,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
TabbableContentContainer = this
|
TabbableContentContainer = this
|
||||||
},
|
},
|
||||||
audioTrackChooser = new LabelledFileChooser(".mp3", ".ogg")
|
audioTrackChooser = new LabelledFileChooser(".mp3", ".ogg")
|
||||||
{
|
{
|
||||||
Label = "Audio Track",
|
Label = EditorSetupStrings.AudioTrack,
|
||||||
FixedLabelWidth = LABEL_WIDTH,
|
FixedLabelWidth = LABEL_WIDTH,
|
||||||
TabbableContentContainer = this
|
TabbableContentContainer = this
|
||||||
},
|
},
|
||||||
@ -143,12 +144,12 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
private void updatePlaceholderText()
|
private void updatePlaceholderText()
|
||||||
{
|
{
|
||||||
audioTrackChooser.Text = audioTrackChooser.Current.Value == null
|
audioTrackChooser.Text = audioTrackChooser.Current.Value == null
|
||||||
? "Click to select a track"
|
? EditorSetupStrings.ClickToSelectTrack
|
||||||
: "Click to replace the track";
|
: EditorSetupStrings.ClickToReplaceTrack;
|
||||||
|
|
||||||
backgroundChooser.Text = backgroundChooser.Current.Value == null
|
backgroundChooser.Text = backgroundChooser.Current.Value == null
|
||||||
? "Click to select a background image"
|
? EditorSetupStrings.ClickToSelectBackground
|
||||||
: "Click to replace the background image";
|
: EditorSetupStrings.ClickToReplaceBackground;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,12 +5,13 @@
|
|||||||
|
|
||||||
using osu.Framework.Localisation;
|
using osu.Framework.Localisation;
|
||||||
using osu.Game.Rulesets;
|
using osu.Game.Rulesets;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
public abstract class RulesetSetupSection : SetupSection
|
public abstract class RulesetSetupSection : SetupSection
|
||||||
{
|
{
|
||||||
public sealed override LocalisableString Title => $"Ruleset ({rulesetInfo.Name})";
|
public sealed override LocalisableString Title => EditorSetupStrings.RulesetHeader(rulesetInfo.Name);
|
||||||
|
|
||||||
private readonly RulesetInfo rulesetInfo;
|
private readonly RulesetInfo rulesetInfo;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
|
using osu.Framework.Extensions.LocalisationExtensions;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
@ -11,6 +12,7 @@ using osu.Framework.Graphics.UserInterface;
|
|||||||
using osu.Game.Graphics.Containers;
|
using osu.Game.Graphics.Containers;
|
||||||
using osu.Game.Overlays;
|
using osu.Game.Overlays;
|
||||||
using osuTK.Graphics;
|
using osuTK.Graphics;
|
||||||
|
using osu.Game.Localisation;
|
||||||
|
|
||||||
namespace osu.Game.Screens.Edit.Setup
|
namespace osu.Game.Screens.Edit.Setup
|
||||||
{
|
{
|
||||||
@ -77,8 +79,8 @@ namespace osu.Game.Screens.Edit.Setup
|
|||||||
{
|
{
|
||||||
public SetupScreenTitle()
|
public SetupScreenTitle()
|
||||||
{
|
{
|
||||||
Title = "beatmap setup";
|
Title = EditorSetupStrings.BeatmapSetup.ToLower();
|
||||||
Description = "change general settings of your beatmap";
|
Description = EditorSetupStrings.BeatmapSetupDescription;
|
||||||
IconTexture = "Icons/Hexacons/social";
|
IconTexture = "Icons/Hexacons/social";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user