public async Task <IViewComponentResult> InvokeAsync() { var languages = await _languageProvider.GetLanguagesAsync(); var currentLanguage = languages.FindByCulture( CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name ); var model = new LanguageSwitchViewComponentModel { CurrentLanguage = currentLanguage, OtherLanguages = languages.Where(l => l != currentLanguage).ToList() }; return(View("~/Themes/Stisla/Components/Toolbar/LanguageSwitch/Default.cshtml", model)); }
public async Task <IViewComponentResult> InvokeAsync() { var languages = await _languageProvider.GetLanguagesAsync(); var currentLanguage = languages.FindByCulture( CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name ); if (currentLanguage == null) { var abpRequestLocalizationOptionsProvider = HttpContext.RequestServices.GetRequiredService <IAbpRequestLocalizationOptionsProvider>(); var localizationOptions = await abpRequestLocalizationOptionsProvider.GetLocalizationOptionsAsync(); if (localizationOptions.DefaultRequestCulture != null) { currentLanguage = new LanguageInfo( localizationOptions.DefaultRequestCulture.Culture.Name, localizationOptions.DefaultRequestCulture.UICulture.Name, localizationOptions.DefaultRequestCulture.UICulture.DisplayName); } else { currentLanguage = new LanguageInfo( CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name, CultureInfo.CurrentUICulture.DisplayName); } } var model = new LanguageSwitchViewComponentModel { CurrentLanguage = currentLanguage, OtherLanguages = languages.Where(l => l != currentLanguage).ToList() }; return(View("~/Themes/Stisla/Components/Toolbar/LanguageSwitch/Default.cshtml", model)); }