TranslationSource() { foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures)) { if (culture.Equals(CultureInfo.InvariantCulture) || culture.Name == "en-US") { continue; } if (culture.Name == "en") { AvailableCultures.Add(culture); continue; } try { if (Properties.Resources.ResourceManager.GetResourceSet(culture, true, false) != null) { AvailableCultures.Add(culture); } } catch { // Ignore Culture Not Found and other Exceptions. } } var savedCulture = Settings.Instance.Language; CurrentCulture = AvailableCultures.FirstOrDefault(Culture => Culture.Name == savedCulture) ?? new CultureInfo("en"); }
private TranslationSource() { CultureInfo invariantEnglish = CultureInfo.GetCultureInfo("en"); CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures); List <CultureInfo> availableCultures = new List <CultureInfo>(); for (int i = 0; i < cultures.Length; i++) { CultureInfo culture = cultures[i]; try { ResourceSet resourceSet = ResourceManager.GetResourceSet(culture, true, false); if (resourceSet != null) { if (culture.Name == string.Empty) { culture = invariantEnglish; } availableCultures.Add(culture); } } catch { } } AvailableCultures = availableCultures.ToArray(); CultureInfo uiCulture = CultureInfo.InstalledUICulture; CultureInfo availableCulture = AvailableCultures.FirstOrDefault(x => x.TwoLetterISOLanguageName == uiCulture.TwoLetterISOLanguageName) ?? invariantEnglish; currentCulture = availableCulture; }
private void LoadCultures() { var supportedCultures = new string[] { "en", "nl", "da", "ru" }; foreach (var culture in supportedCultures) { var cultureInfo = CultureInfo.GetCultureInfo(culture); AvailableCultures.Add(new CultureItem { DisplayName = cultureInfo.DisplayName.ToUpper(), CultureKey = cultureInfo.Name }); } var settings = settingsRepository.GetSettings(); SelectedCulture = AvailableCultures.FirstOrDefault ( x => x.CultureKey == settings.PreferredLocale ); Toggled = settings.EnableInAllProjects ? DisableText : EnableText; }