Реализация проверки орфографии веб-форм .Net

Я использую средство проверки орфографии веб-форм .net в одном из наших приложений.
Это приложение выполняется только для внутреннего использования, и у клиентов нет доступа к Интернету, поэтому я не могу использовать онлайн-проверку орфографии, такую ​​как Google.

Я наткнулся на много сообщений о SO, которые защищают использование NetSpell. Однако я не смог понять, как подключить его к текстовому редактору, например к tiny mce.

Есть ли где-нибудь пример, которому я могу следовать?
Есть ли более простой способ заставить работать проверку орфографии?


person Biff MaGriff    schedule 18.11.2011    source источник
comment
В современных браузерах уже есть средства проверки правописания.   -  person SLaks    schedule 18.11.2011
comment
@Slaks превзошел меня в моем первоначальном комментарии, но, кроме того, если ваши внутренние клиенты используют более старую версию ИТ, я бы порекомендовал IESpell, а не писать его самостоятельно.   -  person David    schedule 18.11.2011
comment
@SLaks Корпоративная среда ... т.е. 6 - ie8 с добавлением нескольких мобильных устройств. Я не могу полагаться на браузер или устанавливать программное обеспечение на клиентах. :(   -  person Biff MaGriff    schedule 18.11.2011
comment
Можно ли использовать проверку орфографии на основе Javascript?   -  person Kit    schedule 29.11.2011


Ответы (5)


Я бы использовал плагин проверки орфографии, поставляемый с tinymce, и настроил бы сервер проверки орфографии на машине в интранете. IESpell - хороший способ пойти сюда.

person Thariama    schedule 18.11.2011
comment
посмотрите здесь: kelvinluck.com/2009/01/ - person Thariama; 21.11.2011
comment
Не думаю, что вы читали статью it accepts the AJAX request from a TinyMCE instance, sends it off to Google’s spell checking web service and sends the relevant results back in the AJAX response - person Biff MaGriff; 21.11.2011
comment
но именно так работает плагин проверки орфографии tinymce - person Thariama; 21.11.2011
comment
вам не нужно использовать проверку орфографии Google, но вы можете обратиться к своему собственному серверу IESpell - person Thariama; 22.11.2011

Я реализовал NetSpell для проверки правописания названий городов. Ничего не существовало, поэтому я разработал веб-сервис на C #, который был вызван из клиента, который взял строку, передал ее через NetSpell (с настраиваемыми словарями) и затем вернул, если комбинация город / штат была хорошей, а если нет, какие предложения дал NetSpell. .

Некоторая магия AJAX отображала раскрывающийся список с предложениями, возвращаемыми веб-службой. Однако все должно было быть индивидуальным. Если вам нужно проверить правописание без вызова внешней веб-службы, я думаю, что это ваш лучший выбор.

person Kevin Coulombe    schedule 29.11.2011

Я думаю, что ответ Тариамы близок, хотя. Я проверил образец средства проверки орфографии, включенный в пакет TinyMce .NET, и довольно просто подключить пользовательскую проверку орфографии вместо предоставленного класса GoogleSpellChecker. Вам просто нужно реализовать интерфейс ISpellChecker (два простых метода), переключить GoogleSpellChecker на эту реализацию в файле SpellCheckerModule.cs. Для фактической проверки орфографии вы можете использовать NHunspell, версию средства проверки орфографии OpenOffice для .NET. Описание подключения SpellCheckerModule к TinyMCE см. По ссылке, предоставленной Thariama (kelvinluck.com/2009/01 / ...)

person csgero    schedule 29.11.2011
comment
Да, это та часть, которую мне не хватает. Фактическое подключение tinymce к настраиваемой проверке орфографии. - person Biff MaGriff; 29.11.2011

Вот решение, использующее COM. Он будет отлично работать, пока установлен Microsoft Word.

http://www.codeproject.com/KB/cs/spellcheckdemo.aspx

person Paul Nikonowicz    schedule 29.11.2011

Хорошо, вот что я узнал.

В TinyMCE есть две команды, которые он использует для проверки орфографии. Эти команды отправляются в формате json и имеют одинаковый синтаксис.

В моем использовании я должен использовать определенную программу фонетической проверки орфографии. Итак, я анализирую запрос json, вызываю мою проверку орфографии, а затем генерирую ответ json.

POST
id - строковый идентификатор, сгенерированный методом tinyMCE
- строка "checkWords" или "getSuggestions"
params - массив объектов, для checkWords это (‹string ›, ‹Stringarray›) для getSuggestions это (‹string›, ‹string›)

Ожидаемый ответ
результат - массив строк
id - тот же идентификатор из сообщения
error - Сообщение об ошибке Я предполагаю, я всегда просто возвращаю null.

Пример использования

Post  
{"id":"c0","method":"checkWords","params":["en",["This","is","a","sentancce","woth","speeling","missteaks"]]}

Expected Response
{"result":["sentancce","woth","speeling","missteaks"],"id":"c0","error":null}

Post
{"id":"c0","method":"getSuggestions","params":["en","sentancce"]}

Expected Response
{"result":["sentence","sentenced","sentences","sentience"],"id":"c0","error":null}
person Biff MaGriff    schedule 12.01.2012