New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Не пересоздавать индексы при каждом запуске

Обо всём по программе

Не пересоздавать индексы при каждом запуске

Postby ache » Thu Jan 26, 2012 6:52 pm

При каждом запуске появляется окно "Запуск GoldenDict", "Создаются индексы словарей". И с минуту что-то сканирует (видимо потому, что словарей много).

Как сделать так, чтобы сканирование происходило только при изменении списка словарей состава? Или вообще запускалось только вручную?

Версия GoldenDict 1.0.1. Gentoo Linux AMD64.

На всякий случай: директория ~/.goldendict/index/ существует и доступна пользователю для записи. Там лежит куча файлов, тоже доступных для записи. Ничего не обновлялось с момента первого запуска, когда я подключил эти словари.
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не пересоздавать индексы при каждом запуске

Postby Tvangeste » Thu Jan 26, 2012 8:58 pm

Сравните таймстампы файлов со словарями и индексов.

У меня такое было разок, когда у словарей были даты выставлены в будущее, и GD сравнивал их с датами создания индексных файлов и видел, что словари-то свежее, и заново переиндексировал. Полечилось все touch'ем всех словарей.
Tvangeste
 
Posts: 893
Joined: Thu Jun 02, 2011 11:42 am

Re: Не пересоздавать индексы при каждом запуске

Postby ache » Fri Jan 27, 2012 4:33 am

Словари — не новее 2009 года. Индексы — от 9 января 2011 года.

С датами всё нормально.
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не пересоздавать индексы при каждом запуске

Postby ikm » Fri Jan 27, 2012 6:26 am

А всё время переиндексируемые словари работают? Может, оно пытается каждый раз их проиндексировать, а потом наталкивается на ошибку? В таких случаях проблемные словари внутри программы доступны не будут.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Не пересоздавать индексы при каждом запуске

Postby ache » Sun Jan 29, 2012 10:46 am

Точно! Запустил goldendict в консоли, посыпались ошибки вида:

Stardict's dictionary reading failed: <имя файла>, error: Can't decode the given string from Utf8: <много мусора явно не в UTF-8>

Поэкспериментировал с симлинками и директориями. Все проблемные файлы — с расширением *.ifo. Часть *.ifo читается корректно. Насколько я помню, версия 0.9 нормально читала все.

Лечится? Куда копать?

Заодно вопрос: в архиве для словаря лежат 6 файлов. Например:

AmericanaEnRu_abrv.dict.dz
AmericanaEnRu_abrv.idx.gz
AmericanaEnRu_abrv.ifo
AmericanaEnRu.dict.dz
AmericanaEnRu.idx.gz
AmericanaEnRu.ifo

Это — 3 части одного словаря, или 1 словарь в 3 разных форматах? Если второе — которые форматы должен читать GoldenDict? Сейчас он выдаёт ошибку на *_abrv.ifo, если его нет — на *.ifo, если и его убрать — не находит словарь.
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am


Return to Общий

Who is online

Users browsing this forum: No registered users and 21 guests