using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading.Tasks; using Microsoft.JSInterop; namespace UI.Config.PostBuild { public static class CultureRetrieval { public static async Task RetriveCulture(this IServiceProvider services) { var js = services.GetRequiredService(); var cultureName = await js.InvokeAsync("cultureInfo.get") ?? "en"; if (cultureName.Contains("|")) { var cultureParts = cultureName.Split('|'); var cPart = cultureParts.FirstOrDefault(p => p.StartsWith("c=")); if (cPart != null) { cultureName = cPart.Substring(2); } } var culture = new CultureInfo(cultureName); CultureInfo.DefaultThreadCurrentCulture = culture; CultureInfo.DefaultThreadCurrentUICulture = culture; } } }