🐛 Fix sending notification didn't set culture info for localization

This commit is contained in:
2025-06-05 00:20:54 +08:00
parent a98bfec86f
commit f961469db1
6 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,4 @@
using System.Globalization;
using DysonNetwork.Sphere.Auth;
using DysonNetwork.Sphere.Storage;
using EFCore.BulkExtensions;
@ -14,6 +15,18 @@ public class AccountService(
ICacheService cache
)
{
public static void SetCultureInfo(Account account)
{
SetCultureInfo(account.Language);
}
public static void SetCultureInfo(string? languageCode)
{
var info = new CultureInfo(languageCode ?? "en-us", false);
CultureInfo.CurrentCulture = info;
CultureInfo.CurrentUICulture = info;
}
public const string AccountCachePrefix = "account:";
public async Task PurgeAccountCache(Account account)

View File

@ -78,10 +78,7 @@ public class MagicSpellService(
.Where(a => a.Id == spell.AccountId)
.Select(a => a.Language)
.FirstOrDefaultAsync();
var cultureInfo = new CultureInfo(accountLanguage ?? "en-us", false);
CultureInfo.CurrentCulture = cultureInfo;
CultureInfo.CurrentUICulture = cultureInfo;
AccountService.SetCultureInfo(accountLanguage);
try
{