1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 18:47:27 +08:00

Localise create/save dialog

This commit is contained in:
ansel 2023-01-15 01:49:54 +03:00
parent 78e562903d
commit 87650044bb
3 changed files with 64 additions and 12 deletions

View File

@ -0,0 +1,54 @@
// 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 EditorDialogsStrings
{
private const string prefix = @"osu.Game.Resources.Localisation.EditorDialogs";
/// <summary>
/// "Would you like to create a blank difficulty?"
/// </summary>
public static LocalisableString NewDifficultyDialogHeader => new TranslatableString(getKey(@"new_difficulty_dialog_header"), @"Would you like to create a blank difficulty?");
/// <summary>
/// "Yeah, let&#39;s start from scratch!"
/// </summary>
public static LocalisableString CreateNew => new TranslatableString(getKey(@"create_new"), @"Yeah, let's start from scratch!");
/// <summary>
/// "No, create an exact copy of this difficulty"
/// </summary>
public static LocalisableString CreateCopy => new TranslatableString(getKey(@"create_copy"), @"No, create an exact copy of this difficulty");
/// <summary>
/// "I changed my mind, I want to keep editing this difficulty"
/// </summary>
public static LocalisableString KeepEditing => new TranslatableString(getKey(@"keep_editing"), @"I changed my mind, I want to keep editing this difficulty");
/// <summary>
/// "Did you want to save your changes?"
/// </summary>
public static LocalisableString SaveDialogHeader => new TranslatableString(getKey(@"save_dialog_header"), @"Did you want to save your changes?");
/// <summary>
/// "Save my masterpiece!"
/// </summary>
public static LocalisableString Save => new TranslatableString(getKey(@"save"), @"Save my masterpiece!");
/// <summary>
/// "Forget all changes"
/// </summary>
public static LocalisableString ForgetAllChanges => new TranslatableString(getKey(@"forget_all_changes"), @"Forget all changes");
/// <summary>
/// "Oops, continue editing"
/// </summary>
public static LocalisableString ContinueEditing => new TranslatableString(getKey(@"continue_editing"), @"Oops, continue editing");
private static string getKey(string key) => $@"{prefix}:{key}";
}
}

View File

@ -1,10 +1,9 @@
// 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.
#nullable disable
using osu.Framework.Graphics.Sprites;
using osu.Game.Overlays.Dialog;
using osu.Game.Localisation;
namespace osu.Game.Screens.Edit
{
@ -20,7 +19,7 @@ namespace osu.Game.Screens.Edit
public CreateNewDifficultyDialog(CreateNewDifficulty createNewDifficulty)
{
HeaderText = "Would you like to create a blank difficulty?";
HeaderText = EditorDialogsStrings.NewDifficultyDialogHeader;
Icon = FontAwesome.Regular.Clone;
@ -28,17 +27,17 @@ namespace osu.Game.Screens.Edit
{
new PopupDialogOkButton
{
Text = "Yeah, let's start from scratch!",
Text = EditorDialogsStrings.CreateNew,
Action = () => createNewDifficulty.Invoke(false)
},
new PopupDialogCancelButton
{
Text = "No, create an exact copy of this difficulty",
Text = EditorDialogsStrings.CreateCopy,
Action = () => createNewDifficulty.Invoke(true)
},
new PopupDialogCancelButton
{
Text = "I changed my mind, I want to keep editing this difficulty",
Text = EditorDialogsStrings.KeepEditing,
Action = () => { }
}
};

View File

@ -1,11 +1,10 @@
// 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.
#nullable disable
using System;
using osu.Framework.Graphics.Sprites;
using osu.Game.Overlays.Dialog;
using osu.Game.Localisation;
namespace osu.Game.Screens.Edit
{
@ -13,7 +12,7 @@ namespace osu.Game.Screens.Edit
{
public PromptForSaveDialog(Action exit, Action saveAndExit, Action cancel)
{
HeaderText = "Did you want to save your changes?";
HeaderText = EditorDialogsStrings.SaveDialogHeader;
Icon = FontAwesome.Regular.Save;
@ -21,17 +20,17 @@ namespace osu.Game.Screens.Edit
{
new PopupDialogOkButton
{
Text = @"Save my masterpiece!",
Text = EditorDialogsStrings.Save,
Action = saveAndExit
},
new PopupDialogDangerousButton
{
Text = @"Forget all changes",
Text = EditorDialogsStrings.ForgetAllChanges,
Action = exit
},
new PopupDialogCancelButton
{
Text = @"Oops, continue editing",
Text = EditorDialogsStrings.ContinueEditing,
Action = cancel
},
};