Структура словаря на языке DSL
Исходный текст словаря должен быть записан в виде простого текстового файла. Текст в словаре следует сохранить в ANSI-кодировке или как Unicode текст, а затем изменить расширение файла на .dsl (например, в Проводнике Windows).
В начало текстового файла прописывается заголовок, содержащий имя словаря (#NAME “имя словаря”), исходный язык (#INDEX_LANGUAGE “имя языка”) и язык перевода (#CONTENTS_LANGUAGE ”имя языка”). Полный список языков, поддерживаемых ABBYY Lingvo x3, приведен в разделе Поддерживаемые языки.
Например: При создании англо-русского словаря General в начало файла надо добавить следующий заголовок:
#NAME “General”
#INDEX_LANGUAGE “English”
#CONTENTS_LANGUAGE “Russian”
Если ваш словарь состоит из нескольких файлов, то для их подключения используйте директиву #INCLUDE: через пробел или табуляцию в кавычках указывается полный путь к файлу. Т.к. символ “\” используется в DSL для указания, что следующий за ним символ есть текст, а не имя команды, то в пути файла следует употреблять двойные символы “\\”.
Например:
#INCLUDE “C:\\Dictionaries\\UniverseE.dsl”
Кроме того, можно указывать пути относительно каталога, в котором находится основной файл DSL (т.е. тот, в котором стоит директива INCLUDE).
Например:
- Eсли подключаемый словарь (Universe2.dsl) находится той в же папке, что и исходный словарь:
#INCLUDE “Universe2.dsl”
- Eсли исходный словарь находится в папке Dictionaries, подключаемый словарь (Universe2.dsl) находится в подпапке Dictionaries\Dic:
#INCLUDE “Dic\\Universe2.dsl”
- Eсли исходный словарь находится в Dictionaries\Dic, подключаемый словарь (Universe2.dsl) находится в папке Dictionaries:
#INCLUDE “..\\Universe2.dsl”
Замечания.
- Если текст в словаре был набран в ANSI-кодировке, то необходимо указать кодовую страницу исходного текста. Для этого, после определения исходного языка и языка перевода, добавьте определение кодовой страницы:
#SOURCE_CODE_PAGE “имя кодовой страницы”.
Возможные имена кодовых страниц:
Имя кодовой
страницыНомер кодовой
страницы в WindowsLatin 1252 Cyrillic 1251 EasternEuropean 1250
- При сохранении подготовленного текста словаря в ANSI-кодировке важно учесть, что исходный язык и язык перевода должны принадлежать одной кодовой странице. Если это не так, текст должен быть сохранен в UNICODE-кодировке.
- Если текст словаря сохраняется в UNICODE-кодировке, то явное определение кодовой страницы не требуется.
Помимо заголовочной части текст словаря включает в себя последовательность карточек. Каждая карточка состоит из заголовка (заглавного слова или словосочетания) и текста карточки. При использовании словаря в программе ABBYY Lingvo x3 заголовок показывается в списке слов, а текст карточки (вместе с заголовком) выдается в окне карточки в качестве перевода или толкования.