#c# #.net #visual-studio #hunspell #nhunspell
Вопрос:
Я хочу реализовать проверку орфографии и словарь в своем приложении для Windows на C#. Из Google я узнал, что hunspell-один из лучших вариантов реализации этой функции. Я установил nhunspell с помощью visual studio NuGet в соответствии с предложением, приведенным ниже по URL-адресу. Но когда я пытаюсь выполнить код, появляется ошибка «Файл AFF не найден: C:TestProjectTestHunshellbinDebugen_us.aff»
Когда я ищу установленный пакет hunspell, файлы .aff и .dic не найдены. Я не уверен, откуда я могу загрузить и установить или вставить файлы «en_us.aff», «en_us.dic» в свое решение.
Может ли кто-нибудь, пожалуйста, подсказать правильный способ установки и реализации hunspell в приложении Windows на C#?
Комментарии:
1. Пакет nuget был обновлен в последний раз в 2015 году, домашней страницы, а также исходного кода, похоже, там нет. Я бы счел это устаревшим и больше не поддерживаемым
2. @Sascha, если возможно, не могли бы вы предложить какой-нибудь альтернативный URL-адрес для реализации той же функциональности в C#.
3. Если вы посмотрите на страницу проекта hunspell , там есть ссылки на некоторые словари.
4. @phuzi Я попробовал cgit. freedesktop.org/libreoffice/dictionaries/tree/en/en_US.dic но я не могу загрузить файлы .aff и .dic.
5. По этой ссылке есть ссылка на обычный файл, попробуйте загрузить его!
Ответ №1:
Основываясь на моем тесте, вы можете скачать aff amp; .dic files
его по следующей ссылке:
После нажатия на кнопку мы должны щелкнуть правой кнопкой мыши, чтобы сохранить файл в формате txt.
Затем нам нужно переместить файл .txt, чтобы изменить его на расширение .aff или .dic.
Наконец, мы перемещаем два файла в projectbindebug
папку.
Вот мой тестовый код и результат:
Hunspell hunspell = new Hunspell("en_US.aff", "en_US.dic");
Console.WriteLine("Hunspell - Spell Checking Functions");
Console.WriteLine("¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
Console.WriteLine("Check if the word 'Recommendation' is spelled correct");
bool correct = hunspell.Spell("Recommendation");
Console.WriteLine("Recommendation is spelled "
(correct ? "correct" : "not correct"));
Console.WriteLine("");
Console.WriteLine("Make suggestions for the word 'Recommendatio'");
List<string> suggestions = hunspell.Suggest("Recommendatio");
Console.WriteLine("There are "
suggestions.Count.ToString() " suggestions");
foreach (string suggestion in suggestions)
{
Console.WriteLine("Suggestion is: " suggestion);
}
Результат:
Комментарии:
1. Спасибо, но, к сожалению, у меня это не работает. Я скачал файлы и переименовал их с правильными расширениями. но в предложениях значение всегда пустое.
2. @Ask_SO, Вы можете скачать эти два файла отсюда .
3. J Jun — Не могли бы вы, пожалуйста, кратко объяснить мне назначение файла AFF. Даже если какая-либо ссылка тоже в порядке.