DICT is a dictionary network protocol created by the DICT Development Group. It is described by RFC 2229, published in 1997. Its goal is to surpass the Webster protocol and to allow clients to access more dictionaries during use. Dict servers and clients use TCP port 2628.
Resources for free dictionaries from DICT protocol servers
- A repository of source files for the DICT Development group's dict protocol server (with a few sample dictionaries) is available online.
Dictionaries of English
- Big English–Russian Dictionary
- English–French dictionary
- Freedict provides a collection of over 85 translating dictionaries, as XML source files with the data, mostly accompanied by databases generated from the XML files in the format used by DICT servers and clients. These are available from the Freedict project web site at.
- FREELANG Dictionary
- Lingvo English–Russian and Russian–English dictionaries are not free, but when purchased, can easily be converted into DICT format
- Mueller's English–Russian dictionary
- Slovak-English legal dictionary
- Slovak-Italian legal dictionary
- dictd (the standard server made by the DICT Development Group)
- DictD++ – modern powerful server written in C++ with heavy usage of STL and boost
- GNU Dico
- JDictd – a Java-based DICT server implementation (abandoned)
DICT file format
The standard dictd server made by the DICT Development Group uses a special DICT file format, although other dictd servers (such as GNU Dico) may optionally use other file formats.
Dictionaries in the standard DICT file format are made up of two files, a .index file and a .dict file (or .dict.dz if compressed). These files are not usually written manually but are compiled 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.:
Once the dictionary file has been produced, installing it in the server is normally a matter of typing something like:
mv mydict.dict mydict.index /usr/share/dictd/
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:
- dictc (DICT Client), client for Windows written in Delphi.
- dict.org's own client (part of the dictd package)
- 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.
- GNOME Dictionary, comes with GNOME
- GNU dico's own client (part of the dico package)
- Kdict, comes with KDE
- KTranslator, KDE dictionary
- MaemoDict, for the Nokia 770
- MATE Dictionary (with accompanying applet)
- Mozdev.org's 'dict', a Firefox/Mozilla extension
- OKDict, an OpenOffice.org extension
- OmniDictionary, for Mac OS X
- ZopeDictDB for Zope from Pentila
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.
- Linguae Software is able to convert from/to wb, dict (stardict and dictd) csv, xdxf, txt, ini and ling (native) file formats, Linux, Windows and Mac OS X.
- XDXF XML Dictionary Exchange Format converts between various dictionary formats using pluggable codec architecture.
In order to efficiently store dictionary data, dictzip, an extension to the gzip compression format (also the name of the utility) 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.