DSL

Материал из Wiki FU-Lab
Версия от 14:31, 1 июня 2019; Admin (обсуждение | вклад) (Создание 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:

Marirus.png

Синтаксис 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

Итак, марийско-русский словарь на основе 10-томного «Словаря марийского языка» в формате DSL готов:

http://mari-lab.ru/downloads/marirus.zip

В таком виде его можно использовать в GoldenDict, подробно об этом описано в статье GoldenDict

Использование созданных словарей в Abbyy Lingvo

Если собираетесь использовать этот или другой dsl-словарь в Abbyy Lingvo, то его необходимо скомпилировать специальной программой, которая входит в комплект Abbyy Lingvo.

Ссылки