DSL
DSL (Dictionary Specification Language) – язык, разработанный компанией ABBYY для разметки словарных статей в соответствии с технологией показа словарей, принятой в Lingvo. Компилятор языка DSL входит в состав ABBYY Lingvo начиная с 6 версии. Таким образом, любой пользователь словаря может создать и распространять свой собственный словарь.
Основное назначение языка DSL - описание того, как показывать словарную статью. Язык не определяет в точности структуру карточки или возможные типы информации. Например, в языке DSL нет понятия "синоним", "лексическое значение" или "синтаксическая модель", но есть понятия "курсив", "ссылка", "подстатья" и т.д.
Словарь может быть создан прямо на языке DSL в виде простого текстового файла. Этот файл следует сохранить в кодировке ANSI или Unicode, а затем изменить расширение файла на dsl.
Пример содержимого исходного файла и соответствующей ему карточки в Lingvo:
словарный [m1][p][i][c][com][lang id=2]прил.[/p] от[/i] [ref]словарь[/ref][/lang][/com][/c][/m] [m1][trn]lexical; lexicographic[/trn][/m] [m2][*][ex][lang id=2]богатый словарный запас[/lang] — copious vocabulary[/ex][/*][/m] [m2][*]- [ref]словарный состав[/ref][/*][/m]
Создание DSL-словарей
Рассмотрим создание DSL-словаря на примере марийско-русского словаря на основе Словаря марийского языка в 10-томах (1990-2005), изданного «Марийским научно-исследовательским институтом языка, литературы и истории имени В.М. Васильева» (МарНИИЯЛИ). Пользователю, работающему в Unix-подобных системах (Linux, Mac OS и т.д.), удобнее работать с текстами в UTF-8, текстовый редактор может быть любым, например, gedit. После того, как закончили редактировать текст будущего dsl-словаря, например, marirus.txt, сохраните его с расширением .dsl в кодировке UTF-16:
Синтаксис DSL
- ударение - ['],[/']
- цветной текст - [c название_цвета],[/c]
- полужирный текст - [b],[/b]
- курсив - [i],[/i]
- подчёркивание - [u],[/u]
- условные сокращения - [p],[/p]
- исключить из индексации - [!trs],[/!trs]
- зона перевода - [trn],[/trn]
- неосновной текст - [ex],[/ex]
- язык - [lang id=ай-ди_языка],[/lang]
- отступ:
- [m1],[/m] - отступ на 1 пункт; - [m2],[/m] - отступ на 2 пункта; - [m3],[/m] - отступ на 3 пункта; ... - [m9],[/m] - отступ на 9 пунктов
- гиперссылка - [ref],[/ref]
- медиафайлы (mp3, jpg и т.д.) - [s],[/s]
- комментарии - [com],[/com]
Файл аннотации
В Abbyy Lingvo аннотации к словарю записываются в файле: *.ann, например, если у нас основной файл marirus.dsl, то файл аннотации должен называться marirus.ann. При сохранении данного файла не забудьте, также, указать кодировку как UTF-16. Файл аннотации примерно может выглядеть вот так:
«Словарь марийского языка» (10 томов), Йошкар-Ола, Марийское книжное издательство, 1990-2005: ... Программирование: Пирогов М.С. - mihail.pirogov@gmail.com, Чемышев А.В. - chemyshev.andrey@gmail.com © МарНИИЯЛИ, АУ «Марий Эл Радио», ИП Очеев В.Я., 2011 Перевод в формат Abbyy Lingvo - Центр инновационных языковых технологий при КРАГСиУ http://komikyv.ru/ http://fu-lab.ru/
Файл условных сокращений
Условные сокращения и их расшифровка записываются в файле *_abrv.dsl, например, если у нас основной файл marirus.dsl, то файл условных сокращений должен называться marirus_abrv.dsl. При сохранении данного файла не забудьте, как и в предыдущих случаях, указать кодировку UTF-16. Файл условных сокращений может выглядеть следующим образом: marirus_abrv.dsl
Использование dsl-словарей в GoldenDict
Итак, марийско-русский словарь в формате DSL готов:
http://komikyv.ru/downloads/marirus.zip
В таком виде его можно использовать в GoldenDict, подробно об этом описано тут: [1]