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"); }
TranslationSource() { foreach (var culture in CultureInfo.GetCultures(CultureTypes.SpecificCultures)) { try { if (Properties.Resources.ResourceManager.GetResourceSet(culture, true, false) != null) { AvailableCultures.Add(culture); } } catch { // Ignore Culture Not Found and other Exceptions. } } if (!AvailableCultures.Any(culture => culture.Name == "en-US")) { AvailableCultures.Insert(0, new CultureInfo("en-US")); } var savedCulture = Settings.Instance.Language; CurrentCulture = new CultureInfo(AvailableCultures.Any(culture => culture.Name == savedCulture) ? savedCulture : "en-US"); }
/// <summary> /// Thread-safe access to the AvailableCultures list. /// </summary> /// <param name="c">The CultureInfo.</param> protected void AddCulture(CultureInfo c) { lock (AvailableCultureListLock) { if (!AvailableCultures.Contains(c)) { AvailableCultures.Add(c); } } }
// add culture to list of available ones private void AddCultureToAvailables(string culture) { if (!AvailableCultures.ContainsKey(culture)) { if (culture.ToLower() == "default") { AvailableCultures.Add(culture, string.Empty); } else { AvailableCultures.Add(culture, new CultureInfo(culture).EnglishName); } } }
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; }