Fix local tabs not being localized without hovering

This commit is contained in:
Atony committed 2026-08-27 19:49:10 -05:00
1 parent a3ed901a18
commit e532e558b6
3 files changed
+19 -1

No files matched your search

+7 -1
View File
@@ -49,6 +49,11 @@ public abstract class LocalSettingsTab(ConfigFile config)
/// </summary> /// </summary>
public TabGroup? TabButton { get; internal set; } public TabGroup? TabButton { get; internal set; }
/// <summary>
/// Gets a collection of <see cref="TextMeshPro"/>s alongside the locale keys for them.
/// </summary>
public static Dictionary<TextMeshPro, string> TabGroups { get; } = [];
/// <summary> /// <summary>
/// Gets the list of <see cref="ILocalSetting"/>s. /// Gets the list of <see cref="ILocalSetting"/>s.
/// </summary> /// </summary>
@@ -237,6 +242,7 @@ public abstract class LocalSettingsTab(ConfigFile config)
tabButtonText.transform.localScale = new Vector3(0.9f, 0.9f); tabButtonText.transform.localScale = new Vector3(0.9f, 0.9f);
tabButtonText.alignment = TextAlignmentOptions.Right; tabButtonText.alignment = TextAlignmentOptions.Right;
tabButtonText.text = $"<b>{GetShortName(TabName.Translate())}</b>"; tabButtonText.text = $"<b>{GetShortName(TabName.Translate())}</b>";
TabGroups.Add(tabButtonText, TabName);
var tabButton = tabButtonObject.GetComponent<PassiveButton>(); var tabButton = tabButtonObject.GetComponent<PassiveButton>();
var rollover = tabButtonObject.Rollover; var rollover = tabButtonObject.Rollover;
@@ -311,7 +317,7 @@ public abstract class LocalSettingsTab(ConfigFile config)
offset += 0.5f; offset += 0.5f;
} }
private static string GetShortName(string name) internal static string GetShortName(string name)
{ {
var shortName = string.Empty; var shortName = string.Empty;
name.Split(' ').Do(x => shortName += x[0]); name.Split(' ').Do(x => shortName += x[0]);
@@ -69,6 +69,7 @@ public static class OptionsMenuPatches
int i = 0; int i = 0;
int tabIdx = 0; int tabIdx = 0;
int page = 1; int page = 1;
LocalSettingsTab.TabGroups.Clear();
foreach (var settings in LocalSettingsManager.AvailableTabs) foreach (var settings in LocalSettingsManager.AvailableTabs)
{ {
var tab = settings.CreateTab(__instance); var tab = settings.CreateTab(__instance);
@@ -1,5 +1,6 @@
using System.Linq; using System.Linq;
using Il2CppInterop.Runtime.InteropTypes.Arrays; using Il2CppInterop.Runtime.InteropTypes.Arrays;
using MiraAPI.LocalSettings;
using Reactor.Localization; using Reactor.Localization;
using Reactor.Localization.Providers; using Reactor.Localization.Providers;
using Reactor.Utilities; using Reactor.Utilities;
@@ -38,6 +39,16 @@ public class MiraLocalizationProvider : LocalizationProvider
{ {
MiraApiPlugin.Culture = new(culture); MiraApiPlugin.Culture = new(culture);
} }
foreach (var tab in LocalSettingsTab.TabGroups)
{
if (tab.Key == null)
{
break;
}
tab.Key.text = $"<b>{LocalSettingsTab.GetShortName(tab.Value.Translate())}</b>";
}
/*Warning($"<?xml version='1.0' encoding='UTF-8'?>"); /*Warning($"<?xml version='1.0' encoding='UTF-8'?>");
Warning($"<resources>"); Warning($"<resources>");
foreach (var stringName in TranslationController.Instance.currentLanguage.AllStrings) foreach (var stringName in TranslationController.Instance.currentLanguage.AllStrings)