Skip to content

Commit 14d8cf7

Browse files
diquokspeppy
andauthored
Add localisation support for DirectorySelector (#36371)
- depends on ppy/osu-framework#6700 - closes #36340 - supersedes and closes #36352 <img width="676" height="451" alt="image" src="https://github.com/user-attachments/assets/4f11c761-175b-495a-8b24-16fb6c481a15" /> --------- Co-authored-by: Dean Herbert <pe@ppy.sh>
1 parent 7d476b4 commit 14d8cf7

File tree

9 files changed

+29
-13
lines changed

9 files changed

+29
-13
lines changed

osu.Android.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
1111
</PropertyGroup>
1212
<ItemGroup>
13-
<PackageReference Include="ppy.osu.Framework.Android" Version="2026.108.0" />
13+
<PackageReference Include="ppy.osu.Framework.Android" Version="2026.129.0" />
1414
</ItemGroup>
1515
<PropertyGroup>
1616
<!-- Fody does not handle Android build well, and warns when unchanged.

osu.Game/Graphics/UserInterfaceV2/FileSelection/HiddenFilesToggleCheckbox.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using osu.Framework.Allocation;
55
using osu.Framework.Graphics;
66
using osu.Game.Graphics.UserInterface;
7+
using osu.Game.Localisation;
78
using osu.Game.Overlays;
89
using osuTK;
910
using osuTK.Graphics;
@@ -22,7 +23,7 @@ public HiddenFilesToggleCheckbox()
2223
Origin = Anchor.CentreLeft;
2324
LabelTextFlowContainer.Anchor = Anchor.CentreLeft;
2425
LabelTextFlowContainer.Origin = Anchor.CentreLeft;
25-
LabelText = @"Show hidden";
26+
LabelText = UserInterfaceStrings.ShowHidden;
2627

2728
Scale = new Vector2(0.8f);
2829
}

osu.Game/Graphics/UserInterfaceV2/FileSelection/OsuDirectorySelectorBreadcrumbDisplay.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
using osu.Framework.Graphics.Shapes;
99
using osu.Framework.Graphics.Sprites;
1010
using osu.Framework.Graphics.UserInterface;
11+
using osu.Framework.Localisation;
1112
using osu.Game.Graphics.Sprites;
13+
using osu.Game.Localisation;
1214
using osu.Game.Overlays;
1315
using osuTK;
1416

@@ -26,9 +28,9 @@ protected override Drawable CreateCaption() => Empty().With(d =>
2628
d.Alpha = 0;
2729
});
2830

29-
protected override DirectorySelectorDirectory CreateRootDirectoryItem() => new OsuBreadcrumbDisplayComputer();
31+
protected override DirectorySelectorDirectory CreateRootDirectoryItem() => new OsuBreadcrumbDisplayDevice();
3032

31-
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string? displayName = null) => new OsuBreadcrumbDisplayDirectory(directory, displayName);
33+
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null) => new OsuBreadcrumbDisplayDirectory(directory, displayName);
3234

3335
[BackgroundDependencyLoader]
3436
private void load(OverlayColourProvider colourProvider)
@@ -47,19 +49,19 @@ private void load(OverlayColourProvider colourProvider)
4749
});
4850
}
4951

50-
private partial class OsuBreadcrumbDisplayComputer : OsuBreadcrumbDisplayDirectory
52+
private partial class OsuBreadcrumbDisplayDevice : OsuBreadcrumbDisplayDirectory
5153
{
5254
protected override IconUsage? Icon => null;
5355

54-
public OsuBreadcrumbDisplayComputer()
55-
: base(null, "Computer")
56+
public OsuBreadcrumbDisplayDevice()
57+
: base(null, UserInterfaceStrings.Device)
5658
{
5759
}
5860
}
5961

6062
private partial class OsuBreadcrumbDisplayDirectory : DirectorySelectorDirectory
6163
{
62-
public OsuBreadcrumbDisplayDirectory(DirectoryInfo? directory, string? displayName = null)
64+
public OsuBreadcrumbDisplayDirectory(DirectoryInfo? directory, LocalisableString? displayName = null)
6365
: base(directory, displayName)
6466
{
6567
}

osu.Game/Graphics/UserInterfaceV2/FileSelection/OsuDirectorySelectorDirectory.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66
using osu.Framework.Graphics;
77
using osu.Framework.Graphics.Sprites;
88
using osu.Framework.Graphics.UserInterface;
9+
using osu.Framework.Localisation;
910
using osu.Game.Graphics.Sprites;
1011

1112
namespace osu.Game.Graphics.UserInterfaceV2.FileSelection
1213
{
1314
internal partial class OsuDirectorySelectorDirectory : DirectorySelectorDirectory
1415
{
15-
public OsuDirectorySelectorDirectory(DirectoryInfo directory, string? displayName = null)
16+
public OsuDirectorySelectorDirectory(DirectoryInfo directory, LocalisableString? displayName = null)
1617
: base(directory, displayName)
1718
{
1819
}

osu.Game/Graphics/UserInterfaceV2/OsuDirectorySelector.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using osu.Framework.Graphics.Containers;
88
using osu.Framework.Graphics.Shapes;
99
using osu.Framework.Graphics.UserInterface;
10+
using osu.Framework.Localisation;
1011
using osu.Game.Graphics.Containers;
1112
using osu.Game.Graphics.UserInterfaceV2.FileSelection;
1213
using osu.Game.Overlays;
@@ -67,7 +68,7 @@ private void load(OverlayColourProvider colourProvider)
6768

6869
protected override DirectorySelectorDirectory CreateParentDirectoryItem(DirectoryInfo directory) => new OsuDirectorySelectorParentDirectory(directory);
6970

70-
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string? displayName = null) => new OsuDirectorySelectorDirectory(directory, displayName);
71+
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null) => new OsuDirectorySelectorDirectory(directory, displayName);
7172

7273
protected override void NotifySelectionError() => this.FlashColour(Colour4.Red, 300);
7374
}

osu.Game/Graphics/UserInterfaceV2/OsuFileSelector.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using osu.Framework.Graphics.Shapes;
1010
using osu.Framework.Graphics.Sprites;
1111
using osu.Framework.Graphics.UserInterface;
12+
using osu.Framework.Localisation;
1213
using osu.Game.Graphics.Containers;
1314
using osu.Game.Graphics.Sprites;
1415
using osu.Game.Graphics.UserInterfaceV2.FileSelection;
@@ -69,7 +70,7 @@ private void load(OverlayColourProvider colourProvider)
6970

7071
protected override DirectorySelectorDirectory CreateParentDirectoryItem(DirectoryInfo directory) => new OsuDirectorySelectorParentDirectory(directory);
7172

72-
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string? displayName = null) => new OsuDirectorySelectorDirectory(directory, displayName);
73+
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null) => new OsuDirectorySelectorDirectory(directory, displayName);
7374

7475
protected override DirectoryListingFile CreateFileItem(FileInfo file) => new OsuDirectoryListingFile(file);
7576

osu.Game/Localisation/UserInterfaceStrings.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,16 @@ public static class UserInterfaceStrings
184184
/// </summary>
185185
public static LocalisableString PressForMenu => new TranslatableString(getKey(@"press_for_menu"), @"press for menu");
186186

187+
/// <summary>
188+
/// "Device"
189+
/// </summary>
190+
public static LocalisableString Device => new TranslatableString(getKey(@"device"), @"Device");
191+
192+
/// <summary>
193+
/// "Show hidden"
194+
/// </summary>
195+
public static LocalisableString ShowHidden => new TranslatableString(getKey(@"show_hidden"), @"Show hidden");
196+
187197
private static string getKey(string key) => $@"{prefix}:{key}";
188198
}
189199
}

osu.Game/osu.Game.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3636
</PackageReference>
3737
<PackageReference Include="Realm" Version="20.1.0" />
38-
<PackageReference Include="ppy.osu.Framework" Version="2026.108.0" />
38+
<PackageReference Include="ppy.osu.Framework" Version="2026.129.0" />
3939
<PackageReference Include="ppy.osu.Game.Resources" Version="2026.123.0" />
4040
<PackageReference Include="Sentry" Version="5.1.1" />
4141
<!-- Held back due to 0.34.0 failing AOT compilation on ZstdSharp.dll dependency. -->

osu.iOS.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
<MtouchInterpreter>-all</MtouchInterpreter>
1818
</PropertyGroup>
1919
<ItemGroup>
20-
<PackageReference Include="ppy.osu.Framework.iOS" Version="2026.108.0" />
20+
<PackageReference Include="ppy.osu.Framework.iOS" Version="2026.129.0" />
2121
</ItemGroup>
2222
</Project>

0 commit comments

Comments
 (0)