DICT


DICT is a dictionary network protocol created by the DICT Development Group in 1997, described by RFC 2229. Its goal is to surpass the Webster protocol to allow clients to access a variety of dictionaries via a uniform interface.
In section 3.2 of the DICT protocol RFC, queries and definitions are sent in clear-text, meaning that there is no encryption. Nevertheless, according to section 3.1 of the RFC, various forms of authentication are supported, including Kerberos version 4.
The protocol consists of a few commands a server must recognize so a client can access the available data and lookup word definitions. DICT servers and clients use TCP port 2628 by default. Queries are captured in the following URL scheme:
dict://;@:/::::

Resources for free dictionaries from DICT protocol servers

A repository of source files for the DICT Development group's dict protocol server is available online.

Dictionaries of English

A dictd server can be used from Telnet. For example, to connect to the DICT server on localhost, on a Unix system one can normally type:
telnet localhost dict
and then enter the command "help" to see the available commands. The standard dictd package also provides a "dict" command for command-line use.
More sophisticated DICT clients include:
  • cURL
  • dictc client for Windows written in Delphi.
  • dict.org's own client
  • dictem, for the Emacs text editor
  • Dictionary, an application included with Mac OS X. Online dictionaries can be accessed by setting it as the helper for 'dict://' URI schemes.
  • Fantasdic
  • GNOME Dictionary, comes with GNOME
  • GNU dico's own client
  • Kdict, comes with KDE
  • KTranslator, KDE dictionary
  • MaemoDict, for the Nokia 770
  • MATE Dictionary
  • Mozdev.org's 'dict', a Firefox/Mozilla extension
  • OKDict, an OpenOffice.org extension
  • OmniDictionary, for Mac OS X
  • StarDict
  • ZopeDictDB for Zope from Pentila
  • GoldenDict
  • xfce4-dict, from the Xfce project
There are also programs that read the DICT file format directly. For example, S60Dict, is a dictionary program for Symbian Series 60 that uses DICT dictionaries. Additionally, some DICT clients, such as Fantasdic, are also capable of reading the DICT format directly.

Dict file format

The standard dictd server made by the DICT Development Group uses a special dict file format. It comprises two files, a .index file and a .dict file. These files are usually generated by a program called dictfmt. For example, the Unix command:

dictfmt --utf8 --allchars -s "My Dictionary" -j mydict < mydict.txt

will compile a Unicode-compatible DICT file called mydict, with heading My Dictionary, from mydict.txt which is in Jargon File format i.e.:
:word1:definition 1
:word2:definition 2
etc.
Once the dictionary file has been produced, it can be easily installed on a server with commands similar to this:
mv mydict.dict mydict.index /usr/share/dictd/
/usr/sbin/dictdconfig—write
/etc/init.d/dictd restart

Format converters

  • Linguae Software is able to convert from/to wb, dict csv, xdxf, txt, ini and ling file formats, Linux, Windows and Mac OS X.
  • XDXF XML Dictionary Exchange Format converts between various dictionary formats using pluggable codec architecture.

    dictzip

In order to efficiently store dictionary data, dictzip, an extension to the gzip compression format, can be used to compress a.dict file.
Dictzip compresses file in chunks and stores the chunk index in the gzip file header, thus allowing random access to the data.