RFC 2229 describes the DICT client/server protocol.
The Dictionary Server Protocol (DICT) is a TCP transaction based query/response protocol that allows a client to access dictionary definitions from a set of natural language dictionary databases.
A dynamically updatable list of DICT protocol servers is available.
The following servers may be used when implementing a DICT protocol client (e.g., for default servers):
- dict.org, dict.us.dict.org, dict0.us.dict.org (primary server)
- dict1.us.dict.org (backup server)
- alt0.dict.org (secondary backup server, of last resort)
- all.dict.org (DNS round-robin of dict?.us.dict.org)
For testing, but never be hardcoded into a DICT client
Also, do not hardcode names used for other services into dict clients -- they may not have DICT servers listening:
- www.dict.org has a web server listening
- ftp.dict.org has an ftp server listening
- ftp.at0.dict.org has an ftp server listening
- rsync.dict.org has an rsync server listening
The FreeDict project hosts many free (GPL'd) bilingual dictionaries.
Software, raw and pre-formatted databases, and other information is available from the following sites:
URL Alias Location ftp://ftp.dict.org/pub/dict/ ftp://ftp.us0.dict.org/pub/dict/ USA ftp://mingus.wu-wien.ac.at/pub/dict/ ftp://ftp.at0.dict.org/pub/dict/ Vienna, Austria rsync://rsync.dict.org/dict/ rsync://rsync.us0.dict.org/dict/ USA
Various pieces of client and server software that support the DICT protocol have been written. Here is a list of freely distributed software that we know about.
- Client/Server Software Written in C
C-based client/server software (including raw and pre-formatted databases), released in February 1998 under the terms of the GPL, is available for download from the sites listed above.
Steve Young has written a freely-available C library for interacting with DICT servers, libdict. Client applications can use a simple API to access the full functionality of a DICT server.
- Server Software Written in Java
Ho Ngoc Duc's JDictd can run on any computer where a Java runtime environment is available.
Luis Parravicini's JavaDict, with support for dictionaries stored in postgresql.
- Server Software Written in Perl
Jay Kominek's Jiten is a DICT server written in Perl. Using Perl for the server may make it easier to add support for other dictionary types, to access external database engines, and to test protocol extensions. Porting Perl to non-Linux/Unix systems should also be easier.
- Server Software Written in Python
Radovan Garabik's serpento is a DICT server written in Python, currently in "alpha" release.
- Client Software Written in Python
John Goerzen has written a client and some extremely powerful formatting tools in Python.
- Client Software Written in Perl
- Neil Bowers maintains Net::Dict (originally written by Dmitry Rubenstein), a class implementing a simple Dict client in Perl as described in RFC2229. It provides wrappers for a subset of the RFC2229 commands, and simple command-line and GUI clients using the module. You can download as Net-Dict-* from here.
- Andy Bagdanov wrote a stand-alone DICT client in Perl. Distributed under the PERL Artistic License.
- wdict is a Perl-based web interface to DICT.
- Bret Martin wrote a stand-alone DICT client in Perl. This client is known to run under non-Linux/Unix operating systems. Distributed under the Netscape Public License.
- Client Software Written in Pike
Anders Johansson wrote a DICT client in Pike.
- Client Software Written in Rebol
Jeff Kreis wrote a DICT client in Rebol.
- Client Software Written in Ruby
Dave Pearson wrote a DICT client in Ruby (under the GPL).
- Client Software Written in tk
A beta version of tkDict is available.
- Client Frontend for Emacs and XEmacs
EMACS/XEMACS interface, by Torsten Hilbrich, supports looking up definitions and searching for a match with a nice interface using both mouse and keyboard.
- Client Software using GTK
- Word Inspector
- Word Inspector by Scott Gifford is a graphical front-end to the "dict" program. The dict program allows you to search through one or more dictionary-like reference books for a word, then displays its definition. Word Inspector expands that by allowing you to enter words to look up more easily, easily look up words that appear in the definition for another word, and automatically look up a word in the X Window selection. You can download and install your own dictionaries, or use them over the Internet.
It uses Gtk+ for its user interface, and was built with the Glade interface builder. It is not currently Gnome-aware, but is still a very useful addition to your Gnome desktop. Full Gnome support is intended for the next release. Word Inspector is licensed under the GPL.
- GDict, a Gtk+/GNOME client
- GDict is a relatively new GPL'd client implementation of the DICT protocol.
- ldict is a GTK frontend to DICT written in perl.
- Kdict - The KDE Dict(ionary) Client
Kdict by Christian Gebauer is a graphical client for the DICT protocol. It enables you to search through dictionary-like databases for a word or phrase, then displays suitable definitions. Kdict features an integrated implementation of the DICT protocol that has support for all protocol features, a separate list of matching words for advanced queries, configurable database sets, a browser-like user interface, convenient interaction with the X-clipboard, configurable html-output and printing.
Kdict requires Qt >=2.2 and KDE >=2.0, a version for KDE1 is also available.
- WAP Client Software
wapdict is a GPL'd client from Baris Efe that targets WAP devices. An example front end web site is available.
- Client Software Compiled for Microsoft Windows
The Perl version of the DICT client (dict.pl) has been run under NT and will probably work under any version of Windows that has an appropriate Perl installation.
Stephen Moshier provides binaries based on the Cygnus tools. See the the bottom of his web page.
D. Mason wrote an addon for Microsoft Internet Explorer (version 4 and up) that allows a right click to look up a word.
Aleks Ozolins wrote the Magical Jellybean Dictionary, a DICT client for Windows. The source code is available, too.
- Client Software Compiled for the Macintosh
Mac OS X DICT Howto, a step-by-step walkthrough by Jens Ropers
David Caldwell created a GPL'd DICT client for the Macintosh. The binary is available.
Navdeep Bains wrote the MacDICT client. MacDICT is currently available in binary form only, but the author does plan to make some source code available in the future.
The Omni Group has written OmniDictionary, a DICT client for Mac OS X. OmniDictionary is free, but source code is not available.
Bryan Lee has released the Open Source DictX client for Mac OS X. Binaries and GPL'd sources are available.
Michael Sobolev has a GPL'd SGML-to-dictd converter, called dicttools that uses the cost extension to TCL. English speakers should see the translation. A copy is available on the DICT ftp site.
The following mailing lists are publicly available:
- dict-announce: a low-volume mailing list for major DICT-related announcements.
- dict-beta: a high-volume discussion list for operators and implementors of DICT client/server software.
If you run a DICT server, please join (at minimum) the dict-announce mailing list so that you can track new releases, bug fixes, and new databases.
To join dict-announce, send email to email@example.com.
To join dict-beta, send email to firstname.lastname@example.org.
To unsubscribe from dict-announce, send email to email@example.com.
To unsubscribe from dict-beta, send email to firstname.lastname@example.org.
- dict.org DICT Server
- Web interface by Doug Hoffman, server by Rik Faith.
Perl source code for the Dict CGI interface is now available.
- Hypertext Webster Gateway
- Web interface by Bennet Yee. This interface currently generates more than 25,000 queries per day.
Freely redistributable formatting software for these databases is available here.
Pre-formatted databases are available here.
All of the databases that are available for use with DICT clients and servers are provided under the terms of their original copyright owners.
Below are pointers to their home pages, if available.
- Webster's Revised Unabridged Dictionary (1913)
- The Webster's Revised Unabridged Dictionary (G & C. Merriam Co., 1913, edited by Noah Porter), is provided by Patrick Cassidy of MICRA, Inc., Plainfield, NJ, USA. The raw data is available, as well as another web interface.
- The WordNet® 1.6 Database
- WordNet is a lexical database for English. Software and data are available via ftp.
- The Jargon File
- The Jargon file is a public domain lexicon of hacker jargon, edited by Eric Raymond.
- The Free On-line Dictionary of Computing
- FOLDOC is a searchable dictionary of acronyms, jargon, programming languages, tools, architecture, operating systems, networking, theory, conventions, standards, mathematics, telecoms, electronics, institutions, companies, projects, products, history, in fact anything to do with computing.
- The Elements Database
- A freely-distributed database of elemental information, edited by Jay Kominek.
- The U.S. Gazetteer (1990)
- The original U.S. Gazetteer data are provided by the U.S. Census Bureau and are available via ftp.
- Easton's 1897 Bible Dictionary
- Easton's Bible Dictionary is based on M.G. Easton M.A., D.D.'s Illustrated Bible Dictionary, Third Edition, published by Thomas Nelson, 1897. The raw data for this database is available in the public domain.
- Hitchcock's Bible Names Dictionary
- Hitchcock's Bible Names Dictionary is derived from Hitchcock's New and Complete Analysis of the Holy Bible, published in the late 1800's. The raw data for this database is available in the public domain.
- Free Journalism Dictionary
- Michael Stutz has donated the Free Journalism Dictionary to the FILE project. We do not currently have software available that will format this dictionary for use with a DICT server.
- The 1995 CIA World Factbook
- David Frey submitted patches to the dict-misc package, but are not currently available on the ftp site.
- Ambrose Beirce's Devil's Dictionary
- David Frey submitted patches to the dict-misc package, but are not currently available on the ftp site.
- The Internet Dictionary Project
- The The Internet Dictionary Project has several translating dictionaries available for download. Heinrich Langos has software and pre-formatted DICT database files available. These haven't yet been copied onto the DICT web site.
Here are pointers to other sources of freely available dictionary databases. Note that the license terms of these databases may restrict modification, redistribution, and use. It is your responsibility to read the license and interpret it.
- Horst Eyermann's collection of free bilingual dictionaries, available in DICT format.
- Morris Fried's GPL'd Swahili Dictionary
- Skliarouk Peter passed on a copy of Morris Fried's Swahili dictionary database and software. It's all GPL'd, so it is suitable for conversion into a DICT databse.
- The Spiers English-French Dictionary
- Volunteer to help type and proofread a public domain version of the 1853 Spiers' Dictionnaire Géneral Anglais-Français.
- Dictionary of Technical Terms for Aerospace Use
- This dictionary is based on based on NASA SP-7 (1965). As a US Government publication, it appears to be in the public domain.
- Tico Ethnobotanical Dictionary
- This dictionary is copyrighted and is not freely distributable, so it is not currently suitable for use with DICT servers. However, in July 1999, I contacted the author, and he said he'd consider different licensing terms in the future. A raw, flat file is also available.
- The CED Prolog Factbase
- The copyright status of this database is listed differently in different files on the Oxford Text Archive site (some mark it as ``public domain'' and others as only available for ``scholarly use in private research''). More recent information indicates that the database is restricted and should only be used for private research.
(The database is a set or Prolog facts that represent a Collins English Dictionary from the 1970s. It is possible to write a Perl script that will reformat all of the data into entries suitable for use with DICT. I don't have such a Perl script, so don't ask me for it.)
- Who Was Who 5000 B.C. to Date
- This is Project Gutenberg Release #984 (July 1997) and is available from many places on the net. It contains Irwin L. Gordon's
WHO WAS WHO 5000 B. C. to Date: Biographical Dictionary of the Famous and Those Who Wanted to Be, a biographical dictionary from about 1914. My favorite Project Gutenberg site is Sailor's Project Gutenberg Server.
- See other databases here
- The Consortium for Lexical Research
- The web site contains information and pointers to non-free machine-readable databases. The ftp site appears to contain some freely-available machine-readable dictionaries.
- ELEX-L: Discussing Design of Electronic Dictionaries
- Mailing list and links.
- Internet Public Library
- The IPL contains pointers to many on-line resources. These pointers are searchable. For example, to find all of the pointers to dictionaries, try this link: dictionary
- The A.C.O.R.N. Lexicon.
- The A.C.O.R.N. lexicon is an Open Source lexicon designed for computational linguistics research. Other computational linguistics resources are listed here.
- Original and Official Project Gutenberg Web Site and Sailor's Project Gutenberg Server
- Project Gutenberg provides freely-redistributable electronic texts. When possible, we make use of Project Gutenberg resources and donate our work back to Project Gutenberg.
- Online Book Initiative
- The Online Books Initiative (OBI) is a large collection of text and related materials.
- The Etext Archives
- Another collection of electronic texts, including a mirror of the archive formerly hosted at quartz.rutgers.edu (one of the largest pre-WWW (1990-1994) electronic text archives).
- Grady Ward's Moby Lexicon
- The Moby Lexicon Project, including words lists, hyphenation and pronounciation data, and a thesaurus, is complete and has been placed in the public domain.
- Kevin's Word Lists Page
- Word lists based on Moby and other large databases for various special interests. Also links to many other projects and word lists.
- Words that end in gry
- I'm tired of people sending the webmaster email about this, so I wrote up a page of urls.
- The ONline Information eXchange Guidelines consist of data elements that can be used to describe the contents of an electronic work. This description is for meta data (e.g., title, author, etc.), not the actual body of the work.