From e532e558b694906c7124137b687b239956a4fc26 Mon Sep 17 00:00:00 2001 From: Atony <75191600+AtonyGit@users.noreply.github.com> Date: Thu, 27 Aug 2026 19:49:10 -0500 Subject: [PATCH] Fix local tabs not being localized without hovering --- MiraAPI/LocalSettings/LocalSettingsTab.cs | 8 +++++++- MiraAPI/Patches/LocalSettings/OptionsMenuPatches.cs | 1 + MiraAPI/Translation/MiraLocalizationProvider.cs | 11 +++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/MiraAPI/LocalSettings/LocalSettingsTab.cs b/MiraAPI/LocalSettings/LocalSettingsTab.cs index ccd1f5c..eace08f 100644 --- a/MiraAPI/LocalSettings/LocalSettingsTab.cs +++ b/MiraAPI/LocalSettings/LocalSettingsTab.cs @@ -49,6 +49,11 @@ public abstract class LocalSettingsTab(ConfigFile config) /// public TabGroup? TabButton { get; internal set; } + /// + /// Gets a collection of s alongside the locale keys for them. + /// + public static Dictionary TabGroups { get; } = []; + /// /// Gets the list of s. /// @@ -237,6 +242,7 @@ public abstract class LocalSettingsTab(ConfigFile config) tabButtonText.transform.localScale = new Vector3(0.9f, 0.9f); tabButtonText.alignment = TextAlignmentOptions.Right; tabButtonText.text = $"{GetShortName(TabName.Translate())}"; + TabGroups.Add(tabButtonText, TabName); var tabButton = tabButtonObject.GetComponent(); var rollover = tabButtonObject.Rollover; @@ -311,7 +317,7 @@ public abstract class LocalSettingsTab(ConfigFile config) offset += 0.5f; } - private static string GetShortName(string name) + internal static string GetShortName(string name) { var shortName = string.Empty; name.Split(' ').Do(x => shortName += x[0]); diff --git a/MiraAPI/Patches/LocalSettings/OptionsMenuPatches.cs b/MiraAPI/Patches/LocalSettings/OptionsMenuPatches.cs index 75edd5e..5b89fa8 100644 --- a/MiraAPI/Patches/LocalSettings/OptionsMenuPatches.cs +++ b/MiraAPI/Patches/LocalSettings/OptionsMenuPatches.cs @@ -69,6 +69,7 @@ public static class OptionsMenuPatches int i = 0; int tabIdx = 0; int page = 1; + LocalSettingsTab.TabGroups.Clear(); foreach (var settings in LocalSettingsManager.AvailableTabs) { var tab = settings.CreateTab(__instance); diff --git a/MiraAPI/Translation/MiraLocalizationProvider.cs b/MiraAPI/Translation/MiraLocalizationProvider.cs index 7505855..47cf747 100644 --- a/MiraAPI/Translation/MiraLocalizationProvider.cs +++ b/MiraAPI/Translation/MiraLocalizationProvider.cs @@ -1,5 +1,6 @@ using System.Linq; using Il2CppInterop.Runtime.InteropTypes.Arrays; +using MiraAPI.LocalSettings; using Reactor.Localization; using Reactor.Localization.Providers; using Reactor.Utilities; @@ -38,6 +39,16 @@ public class MiraLocalizationProvider : LocalizationProvider { MiraApiPlugin.Culture = new(culture); } + + foreach (var tab in LocalSettingsTab.TabGroups) + { + if (tab.Key == null) + { + break; + } + + tab.Key.text = $"{LocalSettingsTab.GetShortName(tab.Value.Translate())}"; + } /*Warning($""); Warning($""); foreach (var stringName in TranslationController.Instance.currentLanguage.AllStrings)