static ToolStripMenuItem FillLanguages(Dictionary <string, string> source, ToolStripDropDownItem btLanguage, bool isFrom) { #region commonLangs //<option selected="selected" dir="ltr" style="text-align:left" lang="en" value="/">English</option> //<option dir="ltr" style="text-align:left" lang="gr" value="http://gr.euronews.com/">Ελληνικά</option> //<option dir="ltr" style="text-align:left" lang="hu" value="http://hu.euronews.com/">Magyar</option> //<option dir="ltr" style="text-align:left" lang="fr" value="http://fr.euronews.com/">Français</option> //<option dir="ltr" style="text-align:left" lang="de" value="http://de.euronews.com/">Deutsch</option> //<option dir="ltr" style="text-align:left" lang="it" value="http://it.euronews.com/">Italiano</option> //<option dir="ltr" style="text-align:left" lang="es" value="http://es.euronews.com/">Español</option> //<option dir="ltr" style="text-align:left" lang="pt" value="http://pt.euronews.com/">Português</option> //<option dir="ltr" style="text-align:left" lang="pl" value="http://pl.euronews.com/">Polski</option> //<option dir="ltr" style="text-align:left" lang="ru" value="http://ru.euronews.com/">Pусский</option> //<option dir="ltr" style="text-align:left" lang="ua" value="http://ua.euronews.com/">Українська</option> //<option dir="ltr" style="text-align:left" lang="tr" value="http://tr.euronews.com/">Türkçe</option> //<option dir="rtl" style="text-align:right" lang="ar" value="http://arabic.euronews.com/">عــربي</option> ar //<option dir="rtl" style="text-align:right" lang="pe" value="http://persian.euronews.com/">فارسی</option> fa string[] commonLangs = new string[] { "en", "gr", "hu", "fr", "de", "it", "es", "pt", "pl", "ru", "ua", "tr", "ar", "fa" }; #endregion string dir = isFrom ? LanguageDirection.Split(PairSeparator)[0] : LanguageDirection.Split(PairSeparator)[1]; ToolStripMenuItem currentItem = null; ToolStripMenuItem miOther = new ToolStripMenuItem("Other languages"); foreach (KeyValuePair <string, string> pair in source) { ToolStripMenuItem mi = new ToolStripMenuItem(pair.Key + " : " + pair.Value); mi.CheckOnClick = true; mi.Tag = isFrom; // indication From or To mi.Click += new EventHandler(ChangedLangDirOnClick); if (dir == pair.Value) { currentItem = mi; mi.Checked = true; } if (Array.IndexOf(commonLangs, pair.Value) != -1) { btLanguage.DropDownItems.Add(mi); } else { miOther.DropDownItems.Add(mi); } } btLanguage.DropDownItems.Add(miOther); btLanguage.DropDownOpening += new EventHandler(btLanguage_DropDownOpening); return(currentItem); }
static void ChangedLangDirOnClick(object sender, EventArgs e) { ToolStripMenuItem miSender = (ToolStripMenuItem)sender; string lang = miSender.Text.Split(':')[1].Trim(); if ((Boolean)miSender.Tag) // isFrom { LanguageDirection = lang + PairSeparator + LanguageDirection.Split(PairSeparator)[1]; } else { LanguageDirection = LanguageDirection.Split(PairSeparator)[0] + PairSeparator + lang; } }