diff --git a/EnvelopeGenerator.ReceiverUI/App.razor b/EnvelopeGenerator.ReceiverUI/App.razor
index 6176d21c..3a56f120 100644
--- a/EnvelopeGenerator.ReceiverUI/App.razor
+++ b/EnvelopeGenerator.ReceiverUI/App.razor
@@ -1,6 +1,4 @@
@using System.Globalization
-@using EnvelopeGenerator.ReceiverUI.Services
-@inject CultureService CultureService
@@ -12,12 +10,3 @@
-
-@code {
- protected override async Task OnInitializedAsync()
- {
- var culture = await CultureService.InitializeCultureAsync();
- CultureInfo.DefaultThreadCurrentCulture = culture;
- CultureInfo.DefaultThreadCurrentUICulture = culture;
- }
-}
diff --git a/EnvelopeGenerator.ReceiverUI/Program.cs b/EnvelopeGenerator.ReceiverUI/Program.cs
index 6e725a86..0ef22b94 100644
--- a/EnvelopeGenerator.ReceiverUI/Program.cs
+++ b/EnvelopeGenerator.ReceiverUI/Program.cs
@@ -9,6 +9,7 @@ using DevExpress.Blazor.Reporting;
using DevExpress.XtraReports.Web.Extensions;
using EnvelopeGenerator.Application.Resources;
using Microsoft.Extensions.Localization;
+using System.Globalization;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add("#app");
@@ -48,5 +49,12 @@ builder.Services.AddScoped();
ReportStorageWebExtension.RegisterExtensionGlobal(new InMemoryReportStorageWebExtension());
var host = builder.Build();
+
+// Initialize culture BEFORE running the app
+var cultureService = host.Services.GetRequiredService();
+var culture = await cultureService.InitializeCultureAsync();
+CultureInfo.DefaultThreadCurrentCulture = culture;
+CultureInfo.DefaultThreadCurrentUICulture = culture;
+
await FontLoader.LoadFonts(host.Services.GetRequiredService(), new List { "opensans.ttf" });
await host.RunAsync();
diff --git a/EnvelopeGenerator.ReceiverUI/Shared/LanguageSelector.razor b/EnvelopeGenerator.ReceiverUI/Shared/LanguageSelector.razor
index 4896bfe7..e426e22a 100644
--- a/EnvelopeGenerator.ReceiverUI/Shared/LanguageSelector.razor
+++ b/EnvelopeGenerator.ReceiverUI/Shared/LanguageSelector.razor
@@ -43,7 +43,14 @@
if (CultureInfo.CurrentCulture.Name != culture)
{
await CultureService.SetCultureAsync(culture);
- Navigation.NavigateTo(Navigation.Uri, forceLoad: true);
+
+ // Set culture without page reload
+ var cultureInfo = new CultureInfo(culture);
+ CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
+ CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
+
+ // Navigate without reload to trigger re-render
+ Navigation.NavigateTo(Navigation.Uri, forceLoad: false);
}
isOpen = false;