Ejemplo n.º 1
0
 private void ShowEndStatusMessage(string completedMessage)
 {
     LanguageStructure.Main mainLanguage = Configuration.Settings.Language.Main;
     if (_noOfChangedWords > 0 || _noOfAddedWords > 0 || _noOfSkippedWords > 0 || completedMessage == Configuration.Settings.Language.SpellCheck.SpellCheckCompleted)
     {
         Hide();
         if (Configuration.Settings.Tools.SpellCheckShowCompletedMessage)
         {
             var form = new DialogDoNotShowAgain(_mainWindow.Title + " - " + mainLanguage.SpellCheck,
                                                 completedMessage + Environment.NewLine +
                                                 Environment.NewLine +
                                                 string.Format(mainLanguage.NumberOfCorrectedWords, _noOfChangedWords) + Environment.NewLine +
                                                 string.Format(mainLanguage.NumberOfSkippedWords, _noOfSkippedWords) + Environment.NewLine +
                                                 string.Format(mainLanguage.NumberOfCorrectWords, _noOfCorrectWords) + Environment.NewLine +
                                                 string.Format(mainLanguage.NumberOfWordsAddedToDictionary, _noOfAddedWords) + Environment.NewLine +
                                                 string.Format(mainLanguage.NumberOfNameHits, _noOfNamesEtc));
             form.ShowDialog(_mainWindow);
             Configuration.Settings.Tools.SpellCheckShowCompletedMessage = !form.DoNoDisplayAgain;
             form.Dispose();
         }
         else
         {
             if (_noOfChangedWords > 0)
             {
                 _mainWindow.ShowStatus(completedMessage + "  " + string.Format(mainLanguage.NumberOfCorrectedWords, _noOfChangedWords));
             }
             else
             {
                 _mainWindow.ShowStatus(completedMessage);
             }
         }
     }
 }
Ejemplo n.º 2
0
        private void ButtonOkClick(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBoxAddName.Text))
            {
                return;
            }

            NewName = textBoxAddName.Text.RemoveControlCharacters().Trim();
            string languageName = null;
            _language = Configuration.Settings.Language.Main;

            if (!string.IsNullOrEmpty(Configuration.Settings.General.SpellCheckLanguage))
            {
                languageName = Configuration.Settings.General.SpellCheckLanguage;
            }
            else
            {
                List<string> list = Utilities.GetDictionaryLanguages();
                if (list.Count > 0)
                {
                    string name = list[0];
                    int start = name.LastIndexOf('[');
                    int end = name.LastIndexOf(']');
                    if (start > 0 && end > start)
                    {
                        start++;
                        name = name.Substring(start, end - start);
                        languageName = name;
                    }
                    else
                    {
                        MessageBox.Show(string.Format(_language.InvalidLanguageNameX, name));
                        return;
                    }
                }
            }

            languageName = LanguageAutoDetect.AutoDetectLanguageName(languageName, _subtitle);
            if (comboBoxDictionaries.Items.Count > 0)
            {
                string name = comboBoxDictionaries.SelectedItem.ToString();
                int start = name.LastIndexOf('[');
                int end = name.LastIndexOf(']');
                if (start >= 0 && end > start)
                {
                    start++;
                    name = name.Substring(start, end - start);
                    languageName = name;
                }
            }

            if (string.IsNullOrEmpty(languageName))
                languageName = "en_US";

            var namesList = new NamesList(Configuration.DictionariesFolder, languageName, Configuration.Settings.WordLists.UseOnlineNamesEtc, Configuration.Settings.WordLists.NamesEtcUrl);
            if (namesList.Add(textBoxAddName.Text))
                DialogResult = DialogResult.OK;
            else
                DialogResult = DialogResult.Cancel;
        }
Ejemplo n.º 3
0
        public void DoSpellCheck(bool autoDetect, Subtitle subtitle, string dictionaryFolder, Main mainWindow, int startLine)
        {
            _subtitle = subtitle;
            LanguageStructure.Main mainLanguage = Configuration.Settings.Language.Main;
            _mainWindow = mainWindow;

            _skipAllList = new List <string>();

            _noOfSkippedWords = 0;
            _noOfChangedWords = 0;
            _noOfCorrectWords = 0;
            _noOfNamesEtc     = 0;
            _noOfAddedWords   = 0;
            _firstChange      = true;

            if (!string.IsNullOrEmpty(Configuration.Settings.General.SpellCheckLanguage) && File.Exists(Path.Combine(dictionaryFolder, Configuration.Settings.General.SpellCheckLanguage + ".dic")))
            {
                _languageName = Configuration.Settings.General.SpellCheckLanguage;
            }
            else
            {
                string name  = Utilities.GetDictionaryLanguages()[0];
                int    start = name.LastIndexOf('[');
                int    end   = name.LastIndexOf(']');
                if (start > 0 && end > start)
                {
                    start++;
                    name          = name.Substring(start, end - start);
                    _languageName = name;
                }
                else
                {
                    MessageBox.Show(string.Format(mainLanguage.InvalidLanguageNameX, name));
                    return;
                }
            }
            if (autoDetect || string.IsNullOrEmpty(_languageName))
            {
                _languageName = LanguageAutoDetect.AutoDetectLanguageName(_languageName, subtitle);
            }
            string dictionary = Utilities.DictionaryFolder + _languageName;

            LoadDictionaries(dictionaryFolder, dictionary, _languageName);

            _currentIndex = 0;
            if (startLine >= 0 && startLine < _subtitle.Paragraphs.Count)
            {
                _currentIndex = startLine;
            }
            _currentParagraph = _subtitle.Paragraphs[_currentIndex];
            SetWords(_currentParagraph.Text);
            _wordsIndex = -1;

            PrepareNextWord();
        }
Ejemplo n.º 4
0
 private void SetLanguage(string cultureName)
 {
     try
     {
         if (string.IsNullOrEmpty(cultureName) || cultureName == "en-US")
         {
             Configuration.Settings.Language = new Language(); // default is en-US
         }
         else
         {
             Configuration.Settings.Language = Language.Load(Path.Combine(Configuration.BaseDirectory, "Languages", cultureName + ".xml"));
         }
         Configuration.Settings.General.Language = cultureName;
         _languageGeneral = Configuration.Settings.Language.General;
         _language = Configuration.Settings.Language.Main;
         InitializeLanguage();
     }
     catch (Exception ex)
     {
         var cap = "Language file load error";
         var msg = "Could not load language file " + cultureName + ".xml" +
                   "\n\nError Message:\n" + ex.Message +
                   "\n\nStack Trace:\n" + ex.StackTrace;
         MessageBox.Show(this, msg, cap);
         Configuration.Settings.Language = new Language(); // default is en-US
         Configuration.Settings.General.Language = null;
         _languageGeneral = Configuration.Settings.Language.General;
         _language = Configuration.Settings.Language.Main;
         InitializeLanguage();
     }
 }
Ejemplo n.º 5
0
        private void ButtonOkClick(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBoxAddName.Text))
            {
                return;
            }

            NewName = textBoxAddName.Text.RemoveControlCharacters().Trim();
            string languageName = null;

            _language = Configuration.Settings.Language.Main;

            if (!string.IsNullOrEmpty(Configuration.Settings.General.SpellCheckLanguage))
            {
                languageName = Configuration.Settings.General.SpellCheckLanguage;
            }
            else
            {
                List <string> list = Utilities.GetDictionaryLanguages();
                if (list.Count > 0)
                {
                    string name  = list[0];
                    int    start = name.LastIndexOf('[');
                    int    end   = name.LastIndexOf(']');
                    if (start > 0 && end > start)
                    {
                        start++;
                        name         = name.Substring(start, end - start);
                        languageName = name;
                    }
                    else
                    {
                        MessageBox.Show(string.Format(_language.InvalidLanguageNameX, name));
                        return;
                    }
                }
            }

            languageName = LanguageAutoDetect.AutoDetectLanguageName(languageName, _subtitle);
            if (comboBoxDictionaries.Items.Count > 0)
            {
                string name  = comboBoxDictionaries.SelectedItem.ToString();
                int    start = name.LastIndexOf('[');
                int    end   = name.LastIndexOf(']');
                if (start >= 0 && end > start)
                {
                    start++;
                    name         = name.Substring(start, end - start);
                    languageName = name;
                }
            }

            if (string.IsNullOrEmpty(languageName))
            {
                languageName = "en_US";
            }

            var namesList = new NamesList(Configuration.DictionariesFolder, languageName, Configuration.Settings.WordLists.UseOnlineNamesEtc, Configuration.Settings.WordLists.NamesEtcUrl);

            if (namesList.Add(textBoxAddName.Text))
            {
                DialogResult = DialogResult.OK;
            }
            else
            {
                DialogResult = DialogResult.Cancel;
            }
        }
Ejemplo n.º 6
0
        private void SetLanguage(string cultureName)
        {
            try
            {
                if (string.IsNullOrEmpty(cultureName) || cultureName == "en-US")
                {
                    Configuration.Settings.Language = new Language(); // default is en-US
                }
                else
                {
                    Configuration.Settings.Language = Language.Load(Path.Combine(Configuration.BaseDirectory, "Languages", cultureName + ".xml"));
                }

                Configuration.Settings.General.Language = cultureName;
                this._languageGeneral = Configuration.Settings.Language.General;
                this._language = Configuration.Settings.Language.Main;
                this.InitializeLanguage();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message + Environment.NewLine + Environment.NewLine + exception.StackTrace, "Error loading language file");
                Configuration.Settings.Language = new Language(); // default is en-US
                Configuration.Settings.General.Language = null;
                this._languageGeneral = Configuration.Settings.Language.General;
                this._language = Configuration.Settings.Language.Main;
                this.InitializeLanguage();
            }
        }
Ejemplo n.º 7
0
        private void ButtonOkClick(object sender, EventArgs e)
        {
            if (textBoxAddName.Text.Trim().Length > 0)
            {
                NewName = textBoxAddName.Text.Trim();
                string languageName = null;
                _language = Configuration.Settings.Language.Main;

                if (!string.IsNullOrEmpty(Configuration.Settings.General.SpellCheckLanguage))
                {
                    languageName = Configuration.Settings.General.SpellCheckLanguage;
                }
                else
                {
                    List <string> list = Utilities.GetDictionaryLanguages();
                    if (list.Count > 0)
                    {
                        string name  = list[0];
                        int    start = name.LastIndexOf("[");
                        int    end   = name.LastIndexOf("]");
                        if (start > 0 && end > start)
                        {
                            start++;
                            name         = name.Substring(start, end - start);
                            languageName = name;
                        }
                        else
                        {
                            MessageBox.Show(string.Format(_language.InvalidLanguageNameX, name));
                            return;
                        }
                    }
                }

                languageName = Utilities.AutoDetectLanguageName(languageName, _subtitle);
                if (comboBoxDictionaries.Items.Count > 0)
                {
                    string name  = comboBoxDictionaries.SelectedItem.ToString();
                    int    start = name.LastIndexOf("[");
                    int    end   = name.LastIndexOf("]");
                    if (start >= 0 && end > start)
                    {
                        start++;
                        name         = name.Substring(start, end - start);
                        languageName = name;
                    }
                }

                if (string.IsNullOrEmpty(languageName))
                {
                    languageName = "en_US";
                }
                if (Utilities.AddWordToLocalNamesEtcList(textBoxAddName.Text, languageName))
                {
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    DialogResult = DialogResult.Cancel;
                }
            }
        }