DICT: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Citation bot
Added date. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Internet protocols | #UCB_Category 143/248
imported>Santi100a
 
Line 1: Line 1:
{{Short description|Dictionary network protocol}}
{{Short description|Dictionary network protocol}}
{{About|a network protocol|the <code>dict</code> data structure in PostScript, Erlang, Python, TCL, or etc. |associative array|the Philippine executive department|Department of Information and Communications Technology}}
{{About|a network protocol|the <code>dict</code> data structure in PostScript, Erlang, Python, TCL, or etc. |associative array|the Philippine executive department|Department of Information and Communications Technology}}
{{Confusing|date=June 2010}}
{{Infobox networking protocol
{{Infobox networking protocol
| title        = DICT
| title        = DICT
Line 17: Line 18:
| osilayer    = [[Application layer]] (7)
| osilayer    = [[Application layer]] (7)
| ports        = 2628 ([[Transmission Control Protocol|TCP]])
| ports        = 2628 ([[Transmission Control Protocol|TCP]])
| rfcs        = {{IETF RFC|2229}} A Dictionary Server Protocol
| rfcs        = {{IETF RFC|2229|plainlink=yes}} A Dictionary Server Protocol
}}
}}
{{Confusing|date=June 2010}}


'''DICT''' is a [[dictionary]] [[network protocol]] created by the DICT Development Group<ref name=":0">{{cite web|url=http://www.dict.org/|title=dict.org|publisher=Dict.org|access-date=16 October 2014}}</ref> in 1997, described by <nowiki>RFC 2229</nowiki>.<ref name=":2">{{Cite journal |last1=Faith |first1=Rickard E. |last2=Martin |first2=Bret |date=October 1997 |title=rfc2229 |url=https://datatracker.ietf.org/doc/html/rfc2229 |page= |pages= |access-date=2021-09-11 |website=datatracker.ietf.org}}</ref> Its goal is to surpass the [[Webster protocol]] to allow clients to access a variety of [[dictionaries]] via a uniform interface.
'''DICT''' is a [[dictionary]] [[network protocol]] created by the DICT Development Group<ref name=":0">{{cite web|url=http://www.dict.org/|title=dict.org|publisher=Dict.org|access-date=16 October 2014}}</ref> in 1997, described by <nowiki>RFC 2229</nowiki>.<ref name=":2">{{Cite journal |last1=Faith |first1=Rickard E. |last2=Martin |first2=Bret |date=October 1997 |title=rfc2229 |url=https://datatracker.ietf.org/doc/html/rfc2229 |page= |pages= |access-date=2021-09-11 |website=datatracker.ietf.org}}</ref> Its goal is to surpass the [[Webster protocol]] to allow clients to access a variety of [[dictionaries]] via a uniform interface.
Line 72: Line 72:
More sophisticated DICT clients include:
More sophisticated DICT clients include:
* [[cURL]]
* [[cURL]]
* dictc (DICT Client)<ref>{{cite web|title=DICT Client|url=http://sourceforge.net/projects/dictc/|url-status=live|archive-url=https://web.archive.org/web/20130505214912/http://sourceforge.net/projects/dictc/|archive-date=5 May 2013|access-date=11 September 2021|publisher=SourceForge}}</ref> client for Windows written in [[Delphi (programming language)|Delphi]].
* dictc (DICT Client)<ref>{{cite web|title=DICT Client|url=https://sourceforge.net/projects/dictc/|url-status=live|archive-url=https://web.archive.org/web/20130505214912/http://sourceforge.net/projects/dictc/|archive-date=5 May 2013|access-date=11 September 2021|publisher=SourceForge}}</ref> client for Windows written in [[Delphi (programming language)|Delphi]].
* dict.org's own client (part of the dictd<ref name=":1" /> package)
* dict.org's own client (part of the dictd<ref name=":1" /> package)
* dictem,<ref>{{cite web|url=http://sourceforge.net/projects/dictem|title=DictEm - Dictionary client for Emacs download|date=17 June 2015 |publisher=SourceForge|archive-url=https://web.archive.org/web/20151001133822/http://sourceforge.net/projects/dictem/|archive-date=1 October 2015}}</ref> for the [[Emacs]] [[text editor]]
* dictem,<ref>{{cite web|url=https://sourceforge.net/projects/dictem|title=DictEm - Dictionary client for Emacs download|date=17 June 2015 |publisher=SourceForge|archive-url=https://web.archive.org/web/20151001133822/http://sourceforge.net/projects/dictem/|archive-date=1 October 2015}}</ref> for the [[Emacs]] [[text editor]]
* [[Dictionary (software)|Dictionary]], an application included with Mac OS X. Online dictionaries can be accessed by setting it as the helper for 'dict://' [[URI scheme]]s.
* [[Dictionary (software)|Dictionary]], an application included with Mac OS X. Online dictionaries can be accessed by setting it as the helper for 'dict://' [[URI scheme]]s.
* [[Fantasdic]]
* [[Fantasdic]]
* [[GNOME Dictionary]], comes with [[GNOME]]
* GNOME Dictionary, comes with [[GNOME]]
* GNU dico's own client (part of the dico package)
* GNU dico's own client (part of the dico package)
* [[Kdict]], comes with [[KDE]]
* [[Kdict]], comes with [[KDE]]
Line 126: Line 126:


==External links==
==External links==
* [https://datatracker.ietf.org/doc/html/rfc2229 RFC 2229] – Definition of the DICT protocol
* [https://datatracker.ietf.org/doc/html/rfc2229 RFC 2229] – Definition of the DICT protocol.
* [http://www.dict.org dict.org] DICT Development Group. A WWW interface to several freely available on-line dictionaries.
* [http://www.dict.org dict.org] DICT Development Group. A WWW interface to several freely available on-line dictionaries.
* [https://servers.freedict.org/ DICT protocol server list] by the FreeDict project
* [https://servers.freedict.org/ DICT protocol server list] by the FreeDict project.
* [https://github.com/santi100a/raedict RAE DICT], an open-source DICT server implementation that retrieves definitions from the [[Diccionario de la lengua española|authoritative dictionary for the Spanish language]].


{{URI scheme}}
{{URI scheme}}

Latest revision as of 18:48, 14 December 2025

Template:Short description Script error: No such module "about". Script error: No such module "Unsubst". Template:Infobox networking protocol

DICT is a dictionary network protocol created by the DICT Development Group[1] in 1997, described by RFC 2229.[2] 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 (sans encryption) are supported, including Kerberos version 4.[2]

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://<user>;<auth>@<host>:<port>/<c>:<word>:<database>:<strategy>:<n>

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.[3]

Dictionaries of English

Bilingual dictionaries

  • 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.[6]
  • 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

DICT servers

  • dictd[7] (the standard server made by the DICT Development Group)
  • DictD++[8] – modern powerful server written in C++ with heavy usage of STL and boost (abandoned)
  • GNU Dico[9]
  • JDictd[10] – a Java-based DICT server implementation (abandoned)

DICT clients

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:

There are also programs that read the DICT file format directly. For example, S60Dict,[20] 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[7] server made by the DICT Development Group[1] uses a special dict file format. It comprises two files, a .index file and a .dict file (or .dict.dz if compressed). 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[21] 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[22] 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 (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.

See also

References

<templatestyles src="Reflist/styles.css" />

  1. a b Script error: No such module "citation/CS1".
  2. a b Script error: No such module "Citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. a b c Script error: No such module "citation/CS1".
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "citation/CS1".
  12. Script error: No such module "citation/CS1".
  13. Script error: No such module "citation/CS1".
  14. Script error: No such module "citation/CS1".
  15. Script error: No such module "citation/CS1".
  16. Script error: No such module "citation/CS1".
  17. Script error: No such module "citation/CS1".
  18. Script error: No such module "citation/CS1".
  19. Script error: No such module "citation/CS1".
  20. Script error: No such module "citation/CS1".
  21. Script error: No such module "citation/CS1".
  22. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

External links

Template:URI scheme