@namespace Oqtane.Themes.Controls @inherits ThemeControlBase @using System.Globalization @using Microsoft.AspNetCore.Localization; @using Oqtane.Models @inject ILocalizationService LocalizationService @inject NavigationManager NavigationManager @if (_supportedCultures?.Count() > 1) {
} @code{ private IEnumerable _supportedCultures; protected override async Task OnParametersSetAsync() { _supportedCultures = await LocalizationService.GetCulturesAsync(); } private async Task SetCultureAsync(string culture) { if (culture != CultureInfo.CurrentUICulture.Name) { var interop = new Interop(JSRuntime); var localizationCookieValue = CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)); await interop.SetCookie(CookieRequestCultureProvider.DefaultCookieName, localizationCookieValue, 360); NavigationManager.NavigateTo(NavigationManager.Uri, forceLoad: true); } } }