Версия словаря GoldenDict: 1.5.0-RC-293-g75ed194
Словарь:
- "Greek Lexicon (English)" [DICT]
- "Greek Lexicon (English)" [DICT]
Внимание! Словари имеют одно и то же кодовое имя и заголовок, но это разные версии — не запутайтесь. Рекомендую архивы поместить в два разных каталога: 1 и 2. Очередность установки словарей принципиально важна для воспроизведения ошибки.
Установка словаря №1
Для чистоты эксперимента перед установкой убедитесь, что такой словарь у вас ещё не установлен. Если установлен, то выйдите из программы GoldenDict и удалите его из каталога, который в настройках GoldenDict указан для поиска файлов словарей. Затем запустите GoldenDict и выполните команду Пересканировать файлы. Для установки словаря необходимо скопировать содержимое архива (файлы ell-eng_strong.dict.dz и ell-eng_strong.index) в один из каталогов, в котором GoldenDict ищет файлы словарей, затем запустить GoldenDict, либо если он уже запущен, выполнить команду Пересканировать файлы. Обратите внимание на заголовки — через меню Правка - Словари - Словари в списке словарей нажмите на правую клавишу мыши над заголовком «Greek Lexicon (English)» и выберите в контекстном меню команду "Заголовки словаря":
Установка словаря №2
После установки первого словаря выйдите из GoldenDict, скопируйте файлы ell-eng_strong.dict.dz и ell-eng_strong.index из второго архива в тот же каталог, в котором находятся файлы из первого архива. Запустите GoldenDict. Выполните команду Пересканировать файлы. Задайте поиск по слову "αδω". В результате появляется сообщение об ошибке:
Ошибка поиска: Malformed index file line encountered
Снова посмотрите заголовки словаря:
Для исправления ситуации необходимо выйти из программы GoldenDict, удалить файлы ell-eng_strong.dict.dz и ell-eng_strong.index, снова запустить GoldenDict и выполнить команду Пересканировать файлы. И только после этого скопировать файлы ell-eng_strong.dict.dz и ell-eng_strong.index из второго архива в каталог, в котором GoldenDict ищет словари, и снова выполнить команду Пересканировать файлы. Теперь проверьте поиск по слову "αδω". Сообщения об ошибке больше нет, словарной статьи не найдено. Посмотрите заголовки словаря ещё раз:
Примечание
Данный скрин-шот демонстрирует, что теперь заголовки изменились.
Установка словаря №1
Проделаем то же самое в обратном порядке — попытаемся вернуть первый словарь. Выходим из GoldenDict, из первого архива копируем ell-eng_strong.dict.dz и ell-eng_strong.index, запускаем GoldenDict, выполняем команду Пересканировать файлы. Задаём поиск по слову "αδω". Результат — словарная статья не найдена. Заголовки:
Исправляем ситуацию по вышеприведённому алгоритму: выход из GoldenDict, удаление файлов ell-eng_strong.dict.dz и ell-eng_strong.index, запуск GoldenDict, команда Пересканировать файлы, копирование файлов ell-eng_strong.dict.dz и ell-eng_strong.index из первого архива, команда Пересканировать файлы. Поиск по слову "αδω":
Заголовки:
Суть проблемы: Из вышеприведённых действий видно, что индексы словаря в формате DICT после его обновления не пересоздаются.
Особенность данных словарей: оба словаря были созданы утилитой dictfmt 1.12.1 из одного и того же источника, но во втором случае в отличие от первого использовался ключ --index-keep-orig.
См. man dictfmt:
- Code: Select all
--index-keep-orig
When --utf-8 is specified headwords are lowercased and non-alphanumeric characters
are removed from it before saving to .index file in order to simplify the search.
When --index-keep-orig option is used fourth column is created (if necessary) in
.index file, and contains an original headword which is returned by MATCH command.
This option may be useful to prevent converting " AT&T" to " ATT" or to keep proper
nouns with uppercased first letter.