public async Task <LocaleViewModel> GetLocale(bool onlyCurrentLanguage = false) { LocaleViewModel locale = null; var lang = CultureInfo.CurrentCulture.TwoLetterISOLanguageName; if (onlyCurrentLanguage) { var culture = await _cultureStore.GetCultureByLanguageAsync(lang); locale = GetLocale(culture.Language, new List <Culture> { culture }); } else { var cultures = await _cultureStore.GetActiveCulturesAsync(); lang = cultures.Any(c => c.Language == lang) ? lang : cultures.FirstOrDefault()?.Setting.DefaultLanguage; locale = GetLocale(lang, cultures); } return(locale); }