Есть ли готовые скрипты, классы или API для проверки и исправления неправильной орфографии для русского и английского языка? Чтоб не только указывало на ошибки, но и исправляло их(варианты возможные можно было бы выбрать.)
Нашел кое что http://ru.wikipedia.org/wiki/Hunspell Многие крупные проекты используют эту штуку - Opera, OpenOffice, Chrome. Пробовал скомпилировать исходники на CentOS: скачал, распаковал, ввел ./configure, произошла попытка сконфигурировать, далее ввел make, мне выдало , то же самое на make install. В чем может быть проблема? В википедии написано, что он кроссплатформенный, значит можно на винде установить. Как это сделать? скомпилировать как то? Готовых бинарников я не нашел.
попугай ищи прочие ошибки компиляции/конфигурирования. У меня на центос завелось без проблем и даже проверяет правописание. Про компиляцию под вин написано в README
Ясно, попробую. А как у нее проверка орфографии происходит? Допустим, можно будет из скриптов обращаться к программе, чтоб она выдавала список возможных правильных слов к неправильному?
попугай в никсе можно напрямую обращаться к программе через proc_open например. Скармливаешь ей строку, на каждое слово из строки возвращает идентификатор плюс варианты правильного написания. Идентификатор - это правильно/неправильно ли написано слово
Gifts, сейчас установил на другом сервере при помощи yum. Но видимо, словарей нет, пишет: Can't open affix or dictionary files for dictionary named "en_US". Как добавить новые словари, в том числе и русские? Куда их кидать?
А где их взять можно? Пробовал Setting up Install Process Package hunspell-1.2.9-2.el5.art.i386 already installed and latest version No package hunspell-ru available. No package hunspell-en available. Nothing to do Как еще можно найти эти пакеты?
Попугай man hunspell - в самом конце написано, где должны храниться дефолтные (ну и все остальные) языковые файлы Или просто. Создайте папку /usr/share/myspell/ и поместите туда языковые файлы из http://wiki.services.openoffice.org/wiki/Dictionaries
Ага, спасибо. Скачал, добавил. Но проблема в кодировке. Файл, который хочу проверить в кодировке windows-1251(Она же дефолтная в винде при создании текста вроде). Набираю hunspell -d ru_RU -i Windows-1251 /tmp/asd.log В консоле показывается текст этот и слова с ошибками, которые можно исправить, пропустить, убрать, заменить, но сам текст в кракозябрах. Почему так? Второй вопрос, как использовать в скриптах? Когда я набираю в консоли, то предлагается интерактивная замена, то есть приходится вручную указывать вариант. Я же хочу обращаться из скрипта, чтоб мне отдавались варианты написания правильные. Например PHP: system('hunspell -d ru_RU -i Windows-1251 /tmp/asd.log'); Или даже не весь файл чекать, а только слово, которое подается на вход.
попробуйте опцию -l и/или -L Code: echo "Превед, неправильный медвед. Фтопку падонкаф, учи русский" | hunspell -d ru_RU -l Вывод Code: Превед медвед Фтопку падонкаф