dict.cc dictionary

dict Namespace

Microsoft NET based frontend for offline dictionaries available at http://dict.cc and http://www.dicts.info. Runs also with Mono and with .NET Compact Framework.

Quick howto for running the program with dictionaries in Universal Dictionary Database format available at http://www.dicts.info:

Download the recent version of the offline dictionary in UTF-8 plain text format from http://www.dicts.info/uddl.php Store it somewhere, for example in c:\temp.

Launch dict.exe and select Dictionary/Config from the menu bar

Select the dictionary file downloaded before and the name of the index file to create.

Set the dictionary type to UDDL

Create the index using the Load button of the config form. Commit the message box and the config form with OK, after the index file has been created.

In the main form of the program enter the keyword to translate, in this case a single word in English which has to be translated into Polish. Select Search/Exact in order to translate it.

From now on the dictionary is always set to "English-Polish" and it is ready to use after each launch. The index doesn't need to be created again, as long, as no new dictionaries has been installed. The index creation must be repeated for each new dictionary, even for the reciproke trnaslation, "Polish-English" in this example case. In the index file has already been created and you want to change the dictionary, just select the new index file in the config form and commit it with OK, without pressing on Load for index creation.

The installation of the English-German and German-English dictionaries available dict.cc is very similar.

Obtain the dictionary file from http://www1.dict.cc/translation_file_request.php, read carefully the download instructions. After registering and sending the request you will get an email with the location of the dictionary file. Download, unpack it, as the result you will get a file with a quite complicated name, eg. cffgdnmgcb-8414621938-ua76o.txt. Copy it somewhere, for example to c:\tem.

Launch dict.exe, select Dictionary/Config from the menu bar and select the dictionary file downloaded before and the location of the index file to create.

Next set the dictionary type to DICTCC and create the index file pressing the Load button in the config form. Commit the message box about successfull index creation with OK and leave the config form also using OK. From now on the program will use the dictionary file downloaded from dict.cc and the index file recently created.

Enter the single keyword to translate in the main form of the program and select Search/Exact for translating it.

Alterbatively you can use Search/Reg. Expr. in order to search the keywords according to regular expressions implemented in .NET, see documentation of the class System.Text.RegularExpressions.Regex for more details.

Warnings for PDA and .NET Compact Framework users! The documentation above is generally correct for all supported platforms: MS .NET, Mono and .NET Compact Framework, though the index creation, especially for huge dictionary files from dict.cc may fail on small PDA devices and .NET Compact Framework. The index creation is a time and memory consuming process and it may easyly exceed the limited resources available on portable devices. In this case it is recomended to create the index file on a desktop PC and copy it to the PDA to the same directory, where the dictionary file is located. The application needs about 20MB of memory in order to run, so that you'll have probably to exit other memory consuming applications like Media Player, GPS software etc. Since the index file is entirelly loaded into RAM, it takes a remarkable amount of time (10-15 sec.) until the program becomes ready to use after each launch on slower portable devices.

See the description of the classes ParserBase, DictParser and UDDLParser for more details about expected dictionary file formats. See the description of the classes DictImport and DictIndex about the format of the index file created by this program.

For the compilation the following is needed:

After everything has been installed, go to the source directory of this package and compile it using nant, nant doc or nant cab. The effects of the compilation are:

Namespace hierarchy


CfgFormForm for creating and selecting index files
DictThe main class for the dictionary application
DictCfgDictionary configuration
DictEntryRefReference to a dictionary entry in the dictionary file
DictFormMain form of the dictionary
DictIdxRdFormForm showing the progress of dictionary index reading
DictImportUsed for dictionary index file creation
DictIndexDictionary index
DictParserDict.cc dictionary file parser
ParserBase Collects some common functions for all dictionary parsing classes
UDDLParserUDDL dictionary file parser
UtilsCommon purpose utility functions


IDictParserHandler Used for receiving index entries from the dictionary parser
IProgressUsed for showing progress of long term operations


DictTypeThe dictionary type