public static SpellResult CheckSpelling(string text, Language language, Options options = Options.Default, TextFormat textFormat = TextFormat.Plain) { Lang lang; switch (language) { case Language.rus: lang = Lang.Ru; break; case Language.eng: lang = Lang.En; break; default: throw new ArgumentException("Язык только русский или английский", "language"); } IYandexSpeller speller = new YandexSpeller(); SpellResult res = speller.CheckText(text, lang, options, textFormat); return(res); }
private string CorrectInputMessage(string inputText) { var correctedmessage = inputText; var speller = new YandexSpeller(); var result = speller.CheckText(correctedmessage, Lang.Ru | Lang.En, Options.Default, TextFormat.Plain); int countErrs = result.Errors.Count; if (countErrs > 0) { for (int i = countErrs; i > 0; i--) { var err = result.Errors[i - 1]; if (err.Steer.Count > 0) { correctedmessage = correctedmessage.Remove(err.Pos, err.Len); correctedmessage = correctedmessage.Insert(err.Pos, err.Steer[0]); } } } return(correctedmessage); }
public void Run() { var yandexSpellCheck = new YandexSpeller(); using (var hunSpellEng = new Hunspell(@"Dictionaries\English (American).aff", @"Dictionaries\English (American).dic")) using (var hunSpell = new Hunspell(@"Dictionaries\Russian.aff", @"Dictionaries\Russian.dic")) { InitCustomDictionary(hunSpell); //Skip test pack with id 20 foreach (var pack in _packs.Where(p => p.Id != 20)) { Console.WriteLine($"Смотрю пак {pack.Name}"); foreach (var phrase in pack.Phrases) { SpellPhrase(pack, phrase.Phrase, hunSpell, hunSpellEng, yandexSpellCheck); SpellPhrase(pack, phrase.Description, hunSpell, hunSpellEng, yandexSpellCheck); } } } Console.WriteLine("Spell check is finished"); }
public SpellCheckerBot(string nick, string channel) { _nick = nick; _channel = channel; _speller = new YandexSpeller(); }