public static void Init(ILanguageSetting setting) { if (!string.IsNullOrWhiteSpace(setting.Language)) { CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo(setting.Language); } }
public static void ChangeLanguage(object item, ILanguageSetting setting) { if (item is CIItem cii) { changeLanguage(cii.CultureInfo); setting.Language = cii.CultureInfo?.Name; } }
public static bool ChangeLanguage(this ComboBox combobox, ILanguageSetting setting) { if (combobox.SelectedItem is CIItem cii) { if (cii.CultureInfo?.Name == setting.Language || (cii.CultureInfo is null && string.IsNullOrWhiteSpace(setting.Language))) { return(false); } ChangeLanguage(combobox.SelectedItem, setting); return(true); } return(false); }
public static void SetCultures(this ComboBox combobox, Type type, ILanguageSetting setting) { ResourceManager rm = type.GetDefaultResourceManager(); var ass = EntryAssembly; var exeDir = ApplDirectory; IEnumerable <CultureInfo> cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures).Where(c => { var satDir = Path.Combine(exeDir, c.TwoLetterISOLanguageName); return(Directory.Exists(satDir) && new DirectoryInfo(satDir).GetFiles("*.resources.dll").Count() > 0); }); if (!string.IsNullOrWhiteSpace(NeutralCultureName)) { var neutralCulture = new[] { new CultureInfo(NeutralCultureName) }; cultures = cultures.Union(neutralCulture); } combobox.Items.Clear(); combobox.Items.Add(new CIItem(rm.GetStringEx("automatic"))); var sortedCultures = cultures.ToList(); sortedCultures.Sort((x, y) => x.ToString().CompareTo(y.ToString())); foreach (CultureInfo culture in sortedCultures) { combobox.Items.Add(new CIItem(culture)); } if (string.IsNullOrWhiteSpace(setting.Language)) { combobox.SelectedIndex = 0; return; } var idx = sortedCultures.FindIndex(c => c.Name == setting.Language); if (idx < 0) { combobox.SelectedIndex = 0; } else { combobox.SelectedIndex = idx + 1; } }
protected override void OnBindingContextChanged() { base.OnBindingContextChanged(); if ((BindingContext as ILanguageSetting) != null) { model = (BindingContext as ILanguageSetting); Model_PropertyChanged(null, new System.ComponentModel.PropertyChangedEventArgs("DefaultLanguageEnglish")); Model_PropertyChanged(null, new System.ComponentModel.PropertyChangedEventArgs("DefaultGenderMan")); model.PropertyChanged -= Model_PropertyChanged; model.PropertyChanged += Model_PropertyChanged; } else { model.PropertyChanged -= Model_PropertyChanged; } }
public LocalizeManager(ILanguageSetting settingStub) { this.setting = settingStub; dic = LocalizeCSVParser.GetTextDictionary(setting.GetLanguage()); }