IT => Unix => Тема начата: v4567 от 27 июля 2016, 22:17:56
Название: не работает aspell, ispell
Отправлено: v4567 от 27 июля 2016, 22:17:56
В системе установлены два пакета aspell и ispell с русскими словарями, но проверить файл не получается. Создал текстовый файл в кодировке utf8, первую строку написал на английском, вторую состоящую из одного слова "акно" на русском, третью снова на английском. Запускаю:
файл открывается для проверке и выделение стоит на английском слове, нажимаю "i" для пропуска, что бы перейти к строке с русским словом и переходит не на вторую строку с русским словом, а на третью с английским. Русские слова игнорирует. Если создать файл только с одним русским словом, то после этих команд просто вылетает обратно в командную строку. Вот выводы следующих команд:
# suggest (boolean) # предложение возможных замен # default: true
# time (boolean) # время загрузки и время предложения в pipe-режиме # default: false
####################################################################### # # Фильтр: html # фильтр для работы с документами HTML # # настроен следующим образом:
# f-html-check (список) # всегда проверяемые атрибуты HTML
# f-html-skip (список) # всегда пропускаемые теги HTML с содержимым
####################################################################### # # Фильтр: email # фильтр для пропуска цитируемого текста в сообщениях email # # настроен следующим образом:
# f-email-margin (integer) # числа, что могут появляться перед цитированием # default: 10
####################################################################### # # Фильтр: context # фильтр для обработки разделенных контекстов # # настроен следующим образом:
# f-context-visible-first (boolean) # меняет местами видимый и невидимый текст # default: false
####################################################################### # # Фильтр: sgml # фильтр для работы с обычными документами SGML/XML # # настроен следующим образом:
# f-sgml-check (список) # всегда проверяемые атрибуты SGML
# f-sgml-skip (список) # всегда пропускаемые теги SGML с содержимым
####################################################################### # # Фильтр: tex # фильтр для работы с документами TeX/LaTeX # # настроен следующим образом:
####################################################################### # # Фильтр: texinfo # фильтр для работы с документами Texinfo # # настроен следующим образом:
# f-texinfo-ignore (список) # Игнорируемые команды Texinfo для параметров
создаётся файл размерам 27 Мбайт со множеством русских слов.
Такое впечатление, что где то вместо проверки русских слов включена проверка английских, хотя я явно указываю что проверять нужно использую русский словарь.
Если кто знает в чём причина, помогите пожалуйста. За помощь заранее благодарен!
Название: не работает aspell, ispell
Отправлено: Fray от 28 июля 2016, 09:29:16
Вы не тот спойлер использовали, поправил с вашего позволения :)
Название: не работает aspell, ispell
Отправлено: v4567 от 30 июля 2016, 21:07:11
Никто не знает как мне помочь.. Подскажите хоть в каком направлении смотреть. Несколько дней назад всё работало, особо ничего не делал, не пойму из-за чего перестала работать проверка орфографии.
Название: не работает aspell, ispell
Отправлено: v4567 от 20 августа 2016, 20:53:35
Проблему решил. Как говорится нарочно не придумаешь. После того как разместил тему, несколько дней попытался решить проблему но не получилось. Потом было не до этого. Два дня назад всё таки ради принципа опять вернулся к ней. У меня есть сервер на котором установлен aspell, проверил на нём и оказалось что всё работает. Посмотрел там версию aspell и она оказалась 0.60.6.1, а у меня была 0.60.6. Думал дело в ней, в общем менял бинарники, библиотеки, словари, локализацию но ничего не помогло, провозился целый день. На следующий день решил использовать команду:
strace -xf -eopen -o <файл куда записывать вывод> <команда>
и посмотреть какие файл использует aspell, использует ли он вообще русскоязычные словари.
Немного надо сказать как у меня перестала работать эта проверка орфографии. Её я использую в редакторе mcedit. Как то на linux.org.ru был патч при помощи которого прикручивалась проверка орфографии. Выделяешь слово, потом в меню выбираешь проверку орфографии и если слово написано с ошибкой то появляется менюшка aspell заменить пропустить и т.д. В этой менюшки есть опция добавить и тогда проверяемое слово добавляется как правильно написанное. Раньше проверка орфографии у меня работала, потом долго я ей не пользовался, и перед тем как возникла проблема мне она опять понадобилась. Я попытался проверить работает она или нет, создал файлик, в первой строчке написал абракадабру на латинице, во втором слово "акно" (правильно окно), в третьей строке опять абракадабру на латинице. Проверяю, всё нормально работает. Потом ещё раз решил проверить, опять создал такой файлик и уже проверка орфографии не работала. Так вот когда я при помощи команды strace посмотрел к каким файлам обращается aspell то оказалось что он смотрит на фалйы ~/.aspell.ru.prepl и ~/.aspell.ru.pws Заглянув в файл aspell.ru.pws увмдел там слово "акно" Оказывается в этот файл заносятся слова которые не надо проверять, то есть они написаны правильно. Удалил это слово и у меня всё заработало. Что произошло: когда я первый раз проверял, то случайно занёс слово "акно" в этот файл как правильно написанное. При второй проверке я опять создал такой же файлик, первая строка абракадабра на латинице, вторая строка "акно", третья опять абракадабра на латинице, так как "акно" было занесено как правильное то оно и пропускалось при проверке. При последующих проверках я опять создавал файлики с этим словом "акно". Если бы я написал другое слово, то увидел бы что всё работает. Вот так вот на ровном месте убил несколько дней если взять в общее время на решение этой проблемы, которой по сути и не было.