Sdictionary по-русски


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

Итак, что тут лежит? Все относящееся к проекту Sdict, которым я занимаюсь в свободное время. Sdict это попытка сделать действительно удобный мультиплатформенный словарик за который к тому же не надо платить $ жадным разработчикам. Sdict использует свой уникальный формат словарей, к которому существует конвертор, позволяющий делать преобразование между .dct файлами (сжатый бинарный формат) и обычными текстовыми файлами. В качестве кодировки для слов и статей используется utf8, что позволяет создавать словари на любых языках. Коллекция словарей постоянно пополняется и если у кого-то есть желание помочь и внести свой вклад (словари, советы, идеи и все прочее) - мои координаты можно найти на главной странице.

В настоящее время доступна оболочка ptksdict и коллекция словарей. ptksdict написана на Perl и работает под Windows или UNIX OS.

Также существует словарная оболочка для Symbian OS.

Как запускать?

UNIX (Linux / FreeBSD и иже с ними)

1. Проверить, работает ли Perl и есть ли необходимые библиотеки:

>perl -MTk -MCompress::Zlib -e 'print "$] $Tk::VERSION $Compress::Zlib::VERSION \n"' 
В ответ должна распечататься строчка типа
5.008005 804.027 1.33
что означает версию Perl, версию библиотеки Tk и версию библиотеки Zlib.
Если версия Perl меньше 5.008 или версия Tk меньше 803.xxx вероятнее всего юникода видно не будет. Нужно скачать и установить более свежие версии библиотек с CPAN. Если в ответ вместо строки выводится куча ругани, нужно установить Tk - забираем Tk-804.027.tar.gz или более свежую отсюда и/или Compress::Zlib, забираем Compress-Zlib-1.33.tar.gz или более свежую отсюда.

2. Убедиться что используемая X Window имеет юникодные шрифты:

>xlsfonts | grep -i iso646 | wc -l

39
В ответ получаем некое число, равное числу установленных шрифтов. В моем случае - 39. Если 0, нужно установить и настроить .

3. Если все идет хорошо (что вполне естественно для более-менее свежих дистрибутивов), скачиваем ptksdict-x.y.z.rpm или ptksdict_x.y.z.deb и устанавливаем:

>rpm -i ptksdict-x.y.z.rpm

или 

>dpkg -i ptksdict_x.y.z_all.deb

Также можно установить вручную из tar архива. Для этого скачиваем ptksdict-x.y.z.tar.gz, распаковываем куда нравится, например в /opt/sdict и запускаем
>/opt/sdict/bin/ptksdict

4. Для более тонкой настройки нужно скопировать rc файл в домашний каталог и отредактировать его.

>cd
>cp /opt/sdict/etc/ptksdictrc.sample .ptksdictrc
>vi .ptksdictrc
Например в параметре 'dictionary_dir =' можно указать, где находятся словари, которые можно потом скачать, распаковать и положить в этот каталог.

Как запускать Jotter и Data смотрите в README, инструкции насчет Web словарика находятся в самом .cgi файле в виде комментариев.

Windows

1. Скачиваем ActivePerl отсюда и устанавливаем его. Нам нужна версия 5.8.4.810 или более свежая.

2. Скачиваем ptksdict-x.y.z.zip, распаковываем куда нравится, например в c:\sdict.
    [NB!]   Не используйте имена, которые содержат символы пробела!

3. Кликаем правой кнопкой мышки на десктопе и делаем ярлык, нас интересует c:\sdict\bin\sdict.bat.

4. Запускаем и радуемся. Словари нужно распаковывать и складывать в c:\sdict\share\dicts\, .bz2 файлы неплохо распаковываются свежим RAR'ом. Для большего удобства нужно указать в свойствах нашего ярлыка самый маленький шрифт, опцию 'start minimized' и выбрать иконку из c:\sdict\bin\sdict.ico.

Symbian OS

1. Скачиваем esdict-x.y.z.zip, распаковываем, копируем на PDA.

2. Кликаем на Sdict.SIS, устанавливаем.

3. Запускаем Sdict, жмем Ctrl-K, настраиваем каталог, где будут лежать словари (.dct) и какие шрифты хотим юзать. Если Sdict ругается 'Not Found' - ставим STDLIB (находится в прилагаемом архиве ER5STDLIBPatch.zip).

4. Копируем .dct словарики (.dct.bz2 нужно распаковать!) в каталог, который указали в настройках Sdict.

5. Закрываем Sdict (Ctrl-E), запускаем снова и радуемся. У меня все выглядит вот так.

Все!

ЧаВо - частые вопросы и ответы на них.

В: А откуда такое кривое название?
О: Короткий ответ Sdictionary означает Software Dictionary (тогда Hdictionary - это просто отпечатанный словарик). Длинный ответ выходит за рамки данной статьи.

В: А нафига? Есть же dict, к тому же описанный в RFC. Еще один велосипед?
О: Не просто велосипед, а с квадратными колесами! :-)
Dict использует клиент-серверную модель, к тому же протокол не позволяет сделать простой и удобный интерфейс. С другой стороны, .dct формат требует немного ресурсов для работы и заточен под использование в PDA устройствах.

В: Ну а клиент-сервер как? Удобно и не надо настраивать ничего. Хочу!
О: А легко. В комплекте есть cgi скрипт для таких случаев. Работает с любым browser'ом, понимающим utf8 charset.

В: А вот мне бы словариков, разных и побольше...
О: Все что у меня есть, выложено и доступно для скачивания. Коллекция словарей сделана при активном участии моих читателей (намек типа ;-) ). Больше ничего нет.

В: Так это не базы а хренотень какая-то. Форматирования нет, все запущено.
О: Почти все словарные базы присланы моими читателями as is. Согласен, форматирование вещь хорошая и нужная, но у меня просто нет времени перелопачивать все. С другой стороны форматирование заложено в формат словаря, так что любой может помочь причесать то что есть.

В: А вот Lingvo круче немерянно, а тут интерфейс ацтой полный да и вообще...
О: Не берите в голову и продолжайте пользоваться пиратским (на 99%) Lingvo. Письма с подобными комментариями автор отправляет в /dev/null не читая (это мусорная корзина типа для тех кто не в курсе).

В: А вот как насчет картинок в словаре? Есть поддержка и какие-то планы?
О: Это инструмент для работы, а не Третьяковская Галерея. Нет и не планируется.
    [NB!]   Любопытных и умелых отсылаю сюда и по секрету говорю, что существует новый формат - dct v2, у него есть возможность сохранения картинок и других объектов. Будет ли развиваться эта ветка - зависит только от наличия баз!

В: Ну а вот чтоб говорил, все-таки послушать произношение неплохо бы?
О: Все упирается в базы. Ну нету .mp3/.wav и взять неоткуда. В gtkdic есть поддержка audio, а толку?

В: А у меня вот словарик с языка племени Нямба-Юмба на русский (китайский, вьетнамский etc), как мне его сконвертить и использовать?
О: Для любознательных и пытливых сделан конвертор. Имя ему sdict-tools.plx, примеры приложены.

В: А вот мне бы исходники словарей (автор жмот, зажал), а тут одни .dct.bz2.
О: Место на сервере довольно ограничено и я не имею возможности дублировать все. В отличие от не будем показывать пальцем некоторых, исходники можно получить при помощи конвертора, который приложен и даже работает по непроверенным слухам.

В: А вот бы сделать это и еще то и под такую-то OS.
О: К сожалению мне нужно что-то кушать, поэтому как я уже упомянул, делается все в свободное время, которого всегда не хватает. С другой стороны чем больше человек участвует в проекте, тем быстрее можно реализовать те или иные функции. Ближайшие (и не очень) планы как и то, что уже сделано, можно посмотреть тут.

В: А я вот запускаю ptksdict под Linux'ом, а меня Perl ругает сильно.
О: Сначала почитать/обновить Perl. Если не помогает, снести Linux и поставить Windows, с ActivePerl все работает как часы.

В: Не ввести русские буковки в Linux'е.
О: Лично я пользуюсь X Window / XLAT. Соответственно и locale у меня не utf8, а однобайтовая. При вводе ptksdict перекодирует ввод в utf8 в соответствии с 'input_encodings' из .ptksdictrc. По умолчанию это или koi8-r или iso-8859-1. Если с клавиатуры все уже приходит в utf8 (как в win32), то нужно использовать режим 'none' и закомментировать 'autoswitch_encoding' строчку.
[NB!] В ptksdict начиная с версии 1.2.3 есть native support для разных языков, теперь все работает намного проще. Старый режим ввода тоже поддерживается.

В: А вот ввод корейского/японского и все такое.
О: Вот тут я ничем не могу помочь, я не специалист по азиатским языкам. Единственно, почитать предыдущий вопрос и настроить ввод так, чтоб все приходило в utf8 или перекодировать, доступные charset'ы можно посмотреть так:

perl -MEncode -e 'print "$_\n" for (@list = Encode->encodings(":all"));' 
Перекодировать же нужно в utf8.

В: А вот я запускаю (Linux), а ничего не видно или окно программы совсем маленькое, что делать?
О: Есть несовместимость с некоторыми WM, можно попробовать запустить с параметром '--debug'. Ну или вручную изменить размер.

В: А можно как-то редактировать свои словари ну или просто заметки там какие-нть делать а потом сконвертить в .dct?
О: Посмотрите на jotter, который включен в дистрибутив. Кроме собственно просто блокнота он имеет возможность криптования данных, использует компрессию и другие фичи. Любую базу jotter'а можно сохранить как .sdct файл, непосредственно пригодный для компиляции в .dct .

В: А как по-быстрому слепить свой словарик? Не хочу (нет времени) ставить Perl и разбираться.
О: Вот тут все рассказано.

В: Ничего не работает на Apple Macintosh!
О: Да, не работает из-за big-endian архитектуры процессора. Работать будет только если кто-то поможет с портированием (аууу...).

В: Хочу словарей, много и сразу (более редкий вариант - "Сделал свои словари, хочу поделиться с другими"). Что посмотреть?
О: http://www.pscience5.net/sdict.htm.

В: А как мне перегнать .dct файлы в StarDict, CoolDict, MegaDict...?
О: Работа с .dct описана в доке. Что же касается остальных форматов и проектов, их использующих - спрашивайте у авторов. Я с некоторых пор перестал отвечать на подобные письма.

В: Sdict для телефонов Nokia. Я поставил, а оно как-то криво работает? Что не так?
О: Нужен ключик. В связи с прекращением продаж Sdict для телефонов Nokia теперь любой желающий может получить такой ключик совершенно бесплатно. Для этого нужно выслать IMEI, версию (полное имя SIS файла) и пользователя/email (только латинские буквы) по электропочте. Если вы используете бесплатные почтовые сервера вроде mail.ru, то есть большая вероятность, что ответное письмо к вам не дойдет (спросите у админов, а не у меня, почему они блокируют почту с некоторых адресов).

В: Как с поддержкой новых телефонов Nokia? Когда ожидать версию Sdict?
О: Никак. Ожидать не надо, нет и не планируется.

В: Ну а исходники Symbian можно получить? Я сам соберу под свой любимый телефон.
О: (Нужно отметить, что это один из наиболее часто задаваемых вопросов по email) Я не планирую открывать исходники! Совсем! На подобные письма не отвечаю. Любой желающий может написать свой GUI, тем более, что библиотека открыта.

Tags: linux symbian dictionary



Назад в Sdictionary project



[Home] [TTL] [Unix] [Sdictionary] [ROW Programmer] [Symbian] [Misc] [News] [Search] [Contacts] [Guestbook]


Copyright (c) 1999-2017 Alexey Semenoff