Ejemplo n.º 1
0
        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);
        }