Skip to content

Commit

Permalink
Redirect language on switch
Browse files Browse the repository at this point in the history
  • Loading branch information
sgkoishi committed Jan 12, 2025
1 parent e796873 commit 3f90c6d
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
1 change: 0 additions & 1 deletion Core/LangCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ private void ResetGameLocale()
if (Utils.TryParseGameCulture(CultureInfo.CurrentUICulture.ToString(), out var result, true))
{
LanguageManager.Instance.SetLanguage(result);
CultureInfo.CurrentUICulture = Utils.CultureRedirect(CultureInfo.CurrentUICulture);
Console.WriteLine($"Current culture set to {CultureInfo.CurrentUICulture}.");
}
else
Expand Down
5 changes: 5 additions & 0 deletions Core/Mitigations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -679,4 +679,9 @@ private void MMHook_RemoteClient_Reset(On.Terraria.RemoteClient.orig_Reset orig,
orig(self);
self.ClientUUID = "";
}

private void RedirectLanguage(Terraria.Localization.LanguageManager languageManager)
{
System.Globalization.CultureInfo.CurrentUICulture = Utils.CultureRedirect(System.Globalization.CultureInfo.CurrentUICulture);
}
}
2 changes: 2 additions & 0 deletions Core/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@ public override void Initialize()
TShockAPI.GetDataHandlers.Sign.Register(this.GDHook_Permission_Sign);
TShockAPI.GetDataHandlers.NPCAddBuff.Register(this.GDHook_Mitigation_NpcAddBuff);
TShockAPI.GetDataHandlers.PlayerBuffUpdate.Register(this.GDHook_Mitigation_PlayerBuffUpdate);
Terraria.Localization.LanguageManager.Instance.OnLanguageChanged += this.RedirectLanguage;
}

protected override void Dispose(bool disposing)
Expand Down Expand Up @@ -403,6 +404,7 @@ protected override void Dispose(bool disposing)
TShockAPI.GetDataHandlers.Sign.UnRegister(this.GDHook_Permission_Sign);
TShockAPI.GetDataHandlers.NPCAddBuff.UnRegister(this.GDHook_Mitigation_NpcAddBuff);
TShockAPI.GetDataHandlers.PlayerBuffUpdate.UnRegister(this.GDHook_Mitigation_PlayerBuffUpdate);
Terraria.Localization.LanguageManager.Instance.OnLanguageChanged -= this.RedirectLanguage;
var asm = Assembly.GetExecutingAssembly();
Commands.ChatCommands.RemoveAll(c => c.CommandDelegate.Method?.DeclaringType?.Assembly == asm);
foreach (var detour in this._detours.Values)
Expand Down

0 comments on commit 3f90c6d

Please sign in to comment.