private void UpdateAboutMenu()
        {
            var items = AboutItems.MenuItems;

            while (items[0] != aboutSeperatorItem)
            {
                items.RemoveAt(0);
            }

            Configuration config = controller.ConfigController.GetConfigurationCopy();

            if (!string.IsNullOrEmpty(config.language))
            {
                I18N.SetLang(config.language);
            }

            IList <I18N.Lang> langlist = I18N.GetLangList();

            for (int i = 0; i < langlist.Count; i++)
            {
                I18N.Lang lang = langlist[i];
                MenuItem  item = new MenuItem(I18N.GetString(lang.fullname));
                item.Tag    = lang;
                item.Click += OnLanguageItemClick;
                if (lang == I18N.Current)
                {
                    item.Checked = true;
                }
                items.Add(i, item);
            }
        }
        private void OnLanguageItemClick(object sender, EventArgs e)
        {
            MenuItem item = (MenuItem)sender;

            I18N.Lang lang = (I18N.Lang)item.Tag;
            I18N.SetLang(lang.name);
            controller.ConfigController.SelectLanguage(lang);
        }
Example #3
0
 public void SelectLanguage(I18N.Lang lang)
 {
     if (_config.language != lang.name)
     {
         _config.language = lang.name;
         SaveConfig(_config);
         if (LanguageChanged != null)
         {
             LanguageChanged.Invoke(this, new EventArgs());
         }
     }
 }
Example #4
0
    public void OnEnable()
    {
        var backupEvent = langDropdown.onValueChanged;

        langDropdown.onValueChanged = new TMP_Dropdown.DropdownEvent();
        langDropdown.value          = (int)I18N.lang;
        langDropdown.RefreshShownValue();
        langDropdown.onValueChanged = backupEvent;

        silenceSlider.value = ConfigVar.ConfigVars["audio.silence"].FloatValue;

        prevLang = I18N.lang;
    }