О создании словарей DSL

Конечный пункт в направлении прикладываемых усилий при освоении DSL — это собственный электронный словарь. DSL позволяет создавать словари различной степени сложности в плане структуры и оформления. И если для создания словаря простого достаточно элементарных начальных сведений, то для создания словаря с расширенным оформлением помимо DSL могут понадобиться дополнительные знания и навыки.

Простой словарь DSL

Форматированный словарь DSL

Рекомендуемые инструменты

Рекомендуемая литература

Простой словарь DSL

Под словом «простой» в словаределании подразумевается словарь без форматирования (без применения тэгов) с элементарной структурой: заголовок → перевод / толкование (без дополнительных пояснений, как правило). Такими обычно бывают словари синонимов, антонимов и т.п. Среди словарей, входящих в комплект ABBYY Lingvo x5 и выше, примером простого словаря является HoverDictionary (представлен в разных языках). Сходной структурой также обладают пользовательские словари с ограниченным редактированием *.lud (подробнее см. в главе Виды словарей в Lingvo) и вспомогательные словари аббревиатур.

Пример простого словаря :: Вид в словарной карточке

HoverDictionary (En-Ru)
door
дверь; дверца; створка; дверка

Для создания простого словаря не требуются специальные знания и навыки. Достаточно выполнить следующие действия:

  1. Создать текстовый файл с расширением *.txt в кодировке ANSI или Unicode (UTF-16 LE).
  2. Заполнить первые три строчки следующим содержимым:

    Пример первых трёх строчек простого словаря

    #NAME		"Словарь (En-Ru)"
    #INDEX_LANGUAGE		"English"
    #CONTENTS_LANGUAGE	"Russian"
    

    Вместо «Словарь (En-Ru)» указать имя нового словаря и языковую пару в скобках, вместо «English» и «Russian» — английские наименования языка заголовков и языка переводов / толкований. Допускается использовать только языки, поддерживаемые в Lingvo.
  3. Затем разместить словарные статьи, где каждый заголовок должен начинаться с новой строки, а относящийся к нему перевод / толкование со следующей новой строки со знаком пробела или табуляции в начале.

    Пример содержимого простого словаря

    door
    	дверь; дверца; створка; дверка
    doorbell
    	дверной звонок
    doorman
    	швейцар

  4. Сохранить файл с расширением *.dsl.
  5. Откомпилировать полученный DSL словарь в формат LSD при помощи утилиты DSL Compiler, входящей в комплект программы ABBYY Lingvo. При этом проследить, чтобы в окне утилиты была отмечена галочка Create dictionary ready for indexing.

Созданный таким способом LSD словарь можно подключать к программе Lingvo, а исходный DSL — к программе GoldenDict, или любой другой, умеющей работать с DSL напрямую, без дополнительной конвертации.

Форматированный словарь DSL

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

Эти и другие удобства достигаются путём применения к тексту форматирования — разметки текста при помощи тэгов. В общих чертах, доступные в DSL средства форматирования значительно улучшают восприятие и эффективность использования словарей. Жаль только, что не удовлетворяют всем основным потребностям словаределания: так, например, при помощи DSL невозможно отобразить таблицу.

Для создания форматированных словарей словаределателю может понадобиться следующий набор технических знаний и навыков:

  1. Знание всех существующих конструкций языка DSL — само собой разумеется.
  2. Знание языка регулярных выражений — необходимо для того, чтобы быть способным обрабатывать словари большого объёма.
  3. Навык или способность работы в профессиональных текстовых редакторах. Это программы, обладающие набором специализированных средств для лучшего восприятия текста и автоматизации рутинных задач при его обработке. Именно в таких программах быстрее и удобнее всего производится разметка тэгами. Их основные преимущества (актуальные для словаределания):
    • обработка файлов большого объёма (в десятки и сотни мегабайт);
    • одновременная обработка множества файлов;
    • мощные инструменты поиска и замены текста;
    • возможность визуального выделения (подсветки) тэгов при помощи цвета и начертания (функция, значительно облегчающая работу при редактировании и, особенно, вычитке словарей);
    • автоподстановка фрагментов текста или конструкций тэгов;
    • гибкая настройка вспомогательного инструментария (горячие клавиши, кнопки, переключатели и т.п.);
    • средства сбора статистики по тексту.
    Оговорка: разметку тэгами можно производить и в таких программах, как Microsoft Word или Блокнот, но это будет долго и неэффективно.
  4. Знание или знакомство с написанием скриптов (сценариев на несложных языках программирования). Понадобится для решения задач нетривиальных, узкоспециализированных, когда стандартных возможностей текстовых редакторов не хватает. Нередко подобные задачи ограничиваются рамками одного конкретного словаря. Понимание основ скриптового программирования, пусть даже поверхностное, пригодится и для того, чтобы внятно сформулировать тех-задание, если придётся обратиться за помощью в написании к опытному программисту, произвести элементарные настройки в уже существующих скриптах, или просто разобраться в том, как скрипт работает и как обращаться с параметрами его запуска.

Добавим: перечисленные знания не являются сложными в освоении и, по факту, приобретаются достаточно быстро. К тому же, согласно известному афоризму, «дорогу осилит идущий».

Рекомендуемые инструменты

Задачи, с которыми сталкивается словаределатель при создании словаря, можно условно разделить на два направления: профильные и базовые. К профильным относятся те, что тесно связаны со структурой и синтаксисом DSL. К остальным — анализ, сравнение и обработка текстовых массивов, доступ к специфическим данным. Распределим рассматриваемые инструменты по перечисленным типам.

Первая группа — профильная:

Далее перечислим инструменты для решения задач базового круга. Группа профессиональных текстовых редакторов и обработчиков:

Следующая группа — инструменты для сравнения текста, поскольку при работе над словарями сравнивать текстовые файлы приходится довольно часто:

Далее перечислим инструменты быстрого доступа к символам, недоступным с клавиатуры, т.н. карты символов:

И, наконец, конвертер словарных форматов, среди которых DSL поддерживается и как формат целевой, и как исходный:

Рекомендуемая литература

  1. Джеффри Фридл. Регулярные выражения. Перевод с английского Е. Матвеева и А. Киселева. 3-е издание. СПб.: Символ-Плюс, 2008, 608 страниц, иллюстрации. Объективно лучшая на сегодняшний день книга о регулярных выражениях на русском языке.
  2. Jan Goyvaerts. Справочное руководство к программам PowerGREP, EditPad, RegexBuddy (входит в состав упомянутых программ). Лучшее на сегодняшний день руководство к изучению регулярных выражений на английском языке.
  3. niccolo + andreyefgs + ru-board. Руководство по конвертации бумажных словарей в Lingvo. Подробное, пошаговое руководство по созданию DSL словарей из печатных изданий + дополнительные сведения по словаределанию.