Bloom.Workspace.WorkspaceView.SetupUILanguageMenu C# (CSharp) Method

SetupUILanguageMenu() private method

private SetupUILanguageMenu ( ) : void
return void
        private void SetupUILanguageMenu()
        {
            _uiLanguageMenu.DropDownItems.Clear();
            foreach (var lang in L10NSharp.LocalizationManager.GetUILanguages(true))
            {
                string englishName="";
                var langaugeNamesRecognizableByOtherLatinScriptReaders = new List<string> {"en","fr","es","it","tpi"};
                if((lang.EnglishName != lang.NativeName) && !(langaugeNamesRecognizableByOtherLatinScriptReaders.Contains(lang.Name)))
                {
                    englishName = " (" + lang.EnglishName + ")";
                }
                var item = _uiLanguageMenu.DropDownItems.Add(lang.NativeName + englishName);
                item.Tag = lang;
                item.Click += new EventHandler((a, b) =>
                                                {
                                                    L10NSharp.LocalizationManager.SetUILanguage(((CultureInfo)item.Tag).IetfLanguageTag, true);
                                                    Settings.Default.UserInterfaceLanguage = ((CultureInfo)item.Tag).IetfLanguageTag;
                                                    item.Select();
                                                    _uiLanguageMenu.Text = ((CultureInfo) item.Tag).NativeName;
                                                    SaveOriginalButtonTexts();
                                                    _localizationChangedEvent.Raise(null);
                                                    AdjustButtonTextsForCurrentSize();
                                                });
                if (((CultureInfo)item.Tag).IetfLanguageTag == Settings.Default.UserInterfaceLanguage)
                {
                    //doesn't do anything item.Select();

                    _uiLanguageMenu.Text = ((CultureInfo) item.Tag).NativeName;
                }
            }

            _uiLanguageMenu.DropDownItems.Add(new ToolStripSeparator());
            var menu = _uiLanguageMenu.DropDownItems.Add(LocalizationManager.GetString("CollectionTab.MoreLanguagesMenuItem", "More..."));
            menu.Click += new EventHandler((a, b) =>
            {
                _localizationManager.ShowLocalizationDialogBox(false);
                SetupUILanguageMenu();
                LocalizationManager.ReapplyLocalizationsToAllObjectsInAllManagers(); //review: added this based on its name... does it help?
                _localizationChangedEvent.Raise(null);
                // The following is needed for proper display on Linux, and doesn't hurt anything on Windows.
                // See http://issues.bloomlibrary.org/youtrack/issue/BL-3444.
                AdjustButtonTextsForCurrentSize();
            });
        }