@using System.Globalization; @inject NavigationManager NavigationManager @inject IJSRuntime JSRuntime @foreach (var culture in SupportedCultures) { @culture.Value } @code{ public readonly Dictionary SupportedCultures = new() { { new CultureInfo("en-US"), "English" }, { new CultureInfo("zh-Hans"), "简体中文" }, // TODO: Add JP localization? //{ new CultureInfo("ja"), "日本語" }, }; private void RequestCultureChange(CultureInfo newCulture) { if (Equals(CultureInfo.CurrentCulture, newCulture)) { return; } var js = (IJSInProcessRuntime)JSRuntime; js.InvokeVoid("blazorCulture.set", newCulture.Name); NavigationManager.NavigateTo(NavigationManager.Uri, forceLoad: true); } }