где находится опция восстановления Stardict?

где находится опция восстановления Stardict?

У меня есть словарь в формате StarDict без файла *.ifo.

Я знаю, как должен выглядеть файл, но не знаю, сколько именно слов в словаре, и как это проверить, не пересчитывая вручную [sic].

Я потратил пару часов на поиски ответа, но так ничего и не нашел.

Я установил stardict-tools из Центра программного обеспечения, но, судя по всему, в нем нет опции «stardict-repair», упомянутой здесь:http://code.google.com/p/stardict-3/wiki/RepairStarDictDicts, на странице проекта StarDict.

Поэтому у меня два вопроса: 1. как получить stardict-repair в Ubuntu 12.10 и запустить его; 2. (возможно, немного не по теме) как удобно создать правильный файл ifo, если его нет.

решение1

Инструменты установлены в /usr/lib/stardict-tools/. stardict-indexи stardict-verifyоба там. Поскольку они находятся за пределами текущей настройки PATH, терминал не может найти их для запуска.

Чтобы запустить их из терминала, у вас есть несколько вариантов:

  1. Откройте терминал и используйте полное имя, включающее путь:

    /usr/lib/stardict-tools/stardict-verify

  2. Перейдите в каталог stardict-tools и используйте ./префикс:

    cd /usr/lib/stardict-tools, затем используйте./startdict-verify

  3. Если вы часто используете эти инструменты, вы можете добавить каталог в PATH или добавить псевдонимы, файлы .desktop или создать собственные скрипты-оболочки и т. д. Но сейчас все это, вероятно, не стоит усилий.

stardict-repair, однако, не включен в каталог. Пакет Ubuntu не является текущей версией, так что это может быть причиной, или может быть другая причина.

Для создания собственных словарей см.StarDict Создать словарь

Подробную информацию о формате .ifo см.Форматы StarDict

Если вам необходим инструмент восстановления, вам придется скомпилировать и установить пакет из исходного кода.

Как скомпилировать пакет

Загрузить исходный код

Откройте терминал в ~/Downloads. Загрузка будет произведена в тот каталог, в котором вы находились при запуске команды загрузки.

Запустите hg clone https://code.google.com/p/stardict-3/, чтобы загрузить исходный код.

Шаги предварительной компиляции

В 2 файлах есть ошибка, которую нужно исправить. Из-за изменений в одной из требуемых библиотек в каждом файле есть строка, которую нужно изменить, прежде чем они будут скомпилированы.

Это 2 файла libcommon.hи libcommon.cpp, но вы можете загрузить обновленные файлы.

Загрузки находятся по адресуhttp://code.google.com/p/stardict-3/issues/detail?id=31. Прокрутите страницу вниз, пока не увидите публикацию с прикрепленными файлами для замены.

Загрузите каждый файл в ~/Downloads/stardict-3/lib/src, отвечая «да» на вопрос, хотите ли вы заменить существующий файл.

Стандартная установка Ubuntu не будет автоматически иметь установленные инструменты для компиляции, кроме того, каждое приложение будет иметь свои собственные требуемые библиотеки.

Для инструментов stardict вам понадобится:

sudo apt-get install build-essential automake libtool libmysqlclient-dev libpcre3-dev

Компиляция

cd ~/Downloads/stardict-3/

Большинство пакетов имеют готовый configureфайл, который вы запустите на этом этапе. С этим пакетом вам нужно запустить утилиту для создания файла configure.

Убедитесь, что вы находитесь в stardict-3каталоге (в структуре есть несколько файлов автогена, и вам нужно запустить нужный), затем:

./autogen.sh

Теперь запустите файл конфигурации с --disable-dictвозможностью компиляции только инструментов.

./configure --disable-dict

Скомпилируйте пакет с помощью make(обратите внимание, что на этот раз ничего нет ./)

makeобычно сопровождается make install, но я не думаю, что мы хотим делать это здесь, так как он скопирует файлы, установленные из репозитория Ubuntu. Вместо этого, cd tools/srcгде вы найдете только что скомпилированные вами двоичные файлы.

В терминале двоичные файлы будут отображаться зеленым цветом и не будут иметь расширения. (Файлы с одинаковым именем, заканчивающиеся на , .oявляются промежуточными файлами, которые больше не нужны, файлы, заканчивающиеся на , .cppявляются исходным кодом и также могут быть проигнорированы.)

Копировать stardict-repairи любой другой файл, который, возможно, не был включен ранее в /usr/lib/stardict-tools. Вам нужно только скопировать двоичный файл. Помните, ./когда вы их запускаете.

Одно замечание: мы скомпилировали новейшую версию. Возможно, хотя я думаю, что это маловероятно, что может быть некоторая несовместимость между этой версией stardict-repair и остальной частью пакета, который у вас есть. Если это так, то должно быть возможно скомпилировать предыдущую версию инструмента.

Связанный контент