diff --git a/osu.Android.props b/osu.Android.props
index 8f4a102ccecc..f884ce0eff6b 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -52,7 +52,7 @@
-
+
diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs
index ef42522f9d1b..bd0a2680aeac 100644
--- a/osu.Game/OsuGame.cs
+++ b/osu.Game/OsuGame.cs
@@ -24,6 +24,7 @@
using osu.Framework.Input;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.Events;
+using osu.Framework.Localisation;
using osu.Framework.Logging;
using osu.Framework.Screens;
using osu.Framework.Threading;
@@ -686,27 +687,29 @@ protected override void LoadComplete()
{
base.LoadComplete();
- foreach (var language in Enum.GetValues(typeof(Language)).OfType())
+ var languages = Enum.GetValues(typeof(Language)).OfType();
+
+ var mappings = languages.Select(language =>
{
#if DEBUG
if (language == Language.debug)
- {
- Localisation.AddLanguage(Language.debug.ToString(), new DebugLocalisationStore());
- continue;
- }
+ return new LocaleMapping("debug", new DebugLocalisationStore());
#endif
string cultureCode = language.ToCultureCode();
try
{
- Localisation.AddLanguage(cultureCode, new ResourceManagerLocalisationStore(cultureCode));
+ return new LocaleMapping(new ResourceManagerLocalisationStore(cultureCode));
}
catch (Exception ex)
{
Logger.Error(ex, $"Could not load localisations for language \"{cultureCode}\"");
+ return null;
}
- }
+ }).Where(m => m != null);
+
+ Localisation.AddLocaleMappings(mappings);
// The next time this is updated is in UpdateAfterChildren, which occurs too late and results
// in the cursor being shown for a few frames during the intro.
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index b9033f1bb9f3..dbfdf0fde8cf 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -36,7 +36,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index a1e4cf3ba08c..11c177dbaea6 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -61,7 +61,7 @@
-
+
@@ -84,7 +84,7 @@
-
+