Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: не работает aspell, ispell  (Прочитано 706 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн v4567

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
не работает aspell, ispell
« : 27 Июля 2016, 22:16:06 »
В системе установлены два пакета aspell и ispell с русскими словарями, но проверить файл не получается.
Создал текстовый файл в кодировке utf8, первую строку написал на английском, вторую состоящую из одного слова "акно" на русском, третью снова на английском.
 Запускаю:
ispell -d ru ~/txt.txt
или
ispell -d ru-yo ~/txt.txt
или
aspell --lang=ru -c ~/txt.txt
или
aspell --lang=ru-yo -c ~/txt.txt
файл открывается для проверке и выделение стоит на английском слове, нажимаю "i" для пропуска, что бы перейти к строке с русским словом и переходит не на вторую строку с русским словом, а на третью с английским. Русские слова игнорирует.
Если создать файл только с одним русским словом, то после этих команд просто вылетает обратно в командную строку.
Вот выводы следующих команд:
aspell dump dicts
en
en-variant_0
en-variant_1
en-variant_2
en-w_accents
en-wo_accents
en_CA
en_CA-w_accents
en_CA-wo_accents
en_GB
en_GB-ise
en_GB-ise-w_accents
en_GB-ise-wo_accents
en_GB-ize
en_GB-ize-w_accents
en_GB-ize-wo_accents
en_GB-w_accents
en_GB-wo_accents
en_US
en_US-w_accents
en_US-wo_accents
he
ru
ru-ye
ru-yeyo
ru-yo

locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
aspell config
(Нажмите, чтобы показать/скрыть)

По команде:
aspell -l ru-yo dump master | aspell -l ru expand | tr ' ' '\n' > aspell_dump-ru-yo.txt

создаётся файл размерам 27 Мбайт со множеством русских слов.

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

Если кто знает в чём причина, помогите пожалуйста.
За помощь заранее благодарен!

Оффлайн v4567

  • Автор темы
  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: не работает aspell, ispell
« Ответ #1 : 20 Августа 2016, 20:53:06 »
Проблему решил. Как говорится нарочно не придумаешь.
После того как разместил тему, несколько дней попытался решить проблему но не получилось. Потом было не до этого. Два дня назад всё таки ради принципа опять вернулся к ней.
У меня есть сервер на котором установлен 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 увмдел там слово "акно"
Оказывается в этот файл заносятся слова которые не надо проверять, то есть они написаны правильно. Удалил это слово и у меня всё заработало.
Что произошло: когда я первый раз проверял, то случайно занёс слово "акно" в этот файл как правильно написанное. При второй проверке я опять создал такой же файлик, первая строка абракадабра на латинице, вторая строка "акно", третья опять абракадабра на латинице, так как "акно" было занесено как правильное то оно и пропускалось при проверке.
При последующих проверках я опять создавал файлики с этим словом "акно". Если бы я написал другое слово, то увидел бы что всё работает.
 Вот так вот на ровном месте убил несколько дней если взять в общее время на решение этой проблемы, которой по сути и не было.

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.