DSL Dictionary Structure

The source text of a DSL dictionary is a plain text file (*.txt), either in UNICODE or in ANSI encoding.

ABBYY Lingvo dsl dict example DSL Dictionary Structure

A DSL dictionary is made up of dictionary entries. An entry (card) has a headword (this can be a word or a phrase) and a body, which contains translations and comments. If a dictionary is added to the ABBYY Lingvo x3 Bookshelf, all of its card headwords are displayed in the word list. Clicking a word or phrase in the word list, opens the dictionary card which displays the corresponding entry.

ABBYY Lingvo x3 Multilingual supports dictionaries not only in Russian but also in other European languages (for the full list of supported languages, see the Supported Languages section). The source and target languages of the dictionary must be specified in the DSL file. Therefore, at the beginning of each DSL file you need to specify the name of your dictionary (#NAME “dictionary name”), its source language (#INDEX_LANGUAGE  “language name”) and its target language (#CONTENTS_LANGUAGE  “language name”).

E.g.: If you wish to create an English-Russian dictionary named “General”, type the following at the beginning of the DSL file:

#NAME “General”

If your dictionary consists of several files, use the #INCLUDE command to merge the files into one dictionary. Specify the full path to the file after a space or tabulation character. In the DSL language the back slash character “\” indicates that the character following it is text rather than a tag, so you have to use double slashes “\\” in the path to the file.
#INCLUDE “C:\\Dictionaries\\UniverseE.dsl”

Additionally, you can specify paths relative to the folder where the main DSL file  (i.e. the file containing the #INCLUDE command) is located. In this case specify either the file name without the path or put a full stop (“.”) at the beginning of the path.

  1. If the initial dictionary is in Dictionaries, the dictionary to be merged (Universe2.dsl) is in the same folder:

    #INCLUDE “Universe2.dsl”

  2. If the initial dictionary is in Dictionaries, the dictionary to be merged (Universe2.dsl) is in the Dictionaries\Dic folder:

    #INCLUDE “Dic\\Universe2.dsl”

  3. If the initial dictionary is in Dictionaries\Dic, the dictionary to be merged (Universe2.dsl) is in the Dictionaries folder:

    #INCLUDE “..\\Universe2.dsl”


  • If the dictionary text was typed in ANSI encoding, you must specify the code page for the source text, i.e. add a code page tag after the target language and source language tags:
    #SOURCE_CODE_PAGE    “code page name”.
    Allowed code page names:
    Allowed code page name Windows code page number
    Latin 1252
    Cyrillic 1251
    EasternEuropean 1250
  • If you save the text of the dictionary in ANSI encoding, make sure that the dictionary source and target languages are supported by the same code page. If there is no such code page, save the dictionary in UNICODE.
  • If you save the text of the dictionary in UNICODE, you don’t have to specify the code page.

Below the header go the dictionary cards. Each card has a headword and a body. Headwords are displayed in the ABBYY Lingvo x3 word list, and a body contains the possible translations of a headword.

DSL Card Structure
Compiling a Dictionary

DSL Dictionary Structure