public Form1() { InitializeComponent(); try { LanguageConfigs = JsonConvert.DeserializeObject <Dictionary <string, object> >(File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "languages.json"))); if (!LanguageConfigs.ContainsKey("languages")) { throw new Exception("lll"); } } catch { LanguageConfigs = new Dictionary <string, object>(); LanguageConfigs.Add("languages", new Dictionary <string, string> { { "cn", "中文" } }); } List <string> lagstrs = new List <string>(); List <Dictionary <string, string> > Languages1 = JsonConvert.DeserializeObject <List <Dictionary <string, string> > >(JsonConvert.SerializeObject(LanguageConfigs["languages"])); foreach (Dictionary <string, string> kvp in Languages1) { lagstrs.Add(kvp.Values.ToList()[0]); } comboBox2.Items.AddRange(lagstrs.ToArray()); CheckLanguage(true); Languages = LisDic2Dic(Languages1); }
private void CheckLanguage(bool isDef) { if (isDef) { string deflang = ConfigurationManager.AppSettings["language"]; if (LanguageConfigs.ContainsKey(deflang)) { List <Dictionary <string, string> > languStrs = JsonConvert.DeserializeObject <List <Dictionary <string, string> > >(JsonConvert.SerializeObject(LanguageConfigs[deflang])); OkChangeText(LisDic2Dic(languStrs)); } else { MessageBox.Show(ConfigurationManager.AppSettings["noLanguage"], "Error", MessageBoxButtons.OK); } } else { string lasel = comboBox2.SelectedItem.ToString(); if (Languages.ContainsValue(lasel)) { string la = Languages.SingleOrDefault(m => m.Value == lasel).Key; if (LanguageConfigs.ContainsKey(la)) { List <Dictionary <string, string> > languStrs = JsonConvert.DeserializeObject <List <Dictionary <string, string> > >(JsonConvert.SerializeObject(LanguageConfigs[la])); OkChangeText(LisDic2Dic(languStrs)); } else { MessageBox.Show(ConfigurationManager.AppSettings["noLanguage"], "Error", MessageBoxButtons.OK); } } else { MessageBox.Show(ConfigurationManager.AppSettings["noLanguage"], "Error", MessageBoxButtons.OK); } } }