Valid XHTML 1.0 Transitional

Setting up a new dictionary for DictionaryForMIDs

For change notes from past releases see here.

Setting up a dictionary is just configuration, there is no need to have programming knowledge or a development environment. And if you have any problem while setting up a dictionary for DictionaryForMIDs, just contact us and we will assist you.

Setting up a dictionary for DictionaryForMIDs involves the following steps:

  1. Setup dictionary file
       Add line breaks (optional)
       Exclude text from index (optional)
       Define content declarations (optional)
       Using two source dictionaries (optional)
  2. Setup work environment
  3. Configure
       Using a DictionaryUpdate class (optional)
  4. Build dictionary
       Add bitmap fonts (optional)
  5. Publish dictionary (optional)

1. Setup the dictionary file

The easiest way to store a dictionary is by using a spreadsheet program such as Microsoft Excel or Impress.  Create two columns: the headword for the first language, and the definition in the second language.   Microsoft Access can also be used to store the dictionary, but it is more difficult to edit and sort the data.  The latest Microsoft Excel and Impress are probably always the best as each cell can store an unlimited amount of data.  Microsoft Excel 2003 for instance can only store 255 letters in each cell.

Adding line breaks (optional)

Some definitions can be very long. The definition would be easier to read if there were line breaks.  Here is an example:

Read [tab] 1. To read, advice, counsel. 2. To interpret; to explain; as, to read a riddle. 3. To tell; to declare; to recite

Note: [tab] is for the tab-separator character (would be '\t' in

The definition would display as a long string of words. To add a line break, add a "\n" to the definition.  For example:

Read [Tab] 1. To read, advice, counsel\n2. To interpret; to explain; as, to read a riddle.\n3. To tell; to declare; to recite

Now the definition will be displayed like this:

1. To read, advice, counsel.
2. To interpret; to explain; as, to read a riddle.
3. To tell; to declare; to recite.

Excluding text from the generated index files (optional)

Dictionaries with many example sentences and grammar tags can create very big indexes. For example, if the inputdictionaryfile was 2 MB, then the generated files could be 10 MB or more.

To illustrate the problem, here is an example with a line from the inputdictionaryfile:

sleep  The state of reduced consciousness of a human or animal [tab] Schlaf  Zustand der Ruhe eines Tieres oder Menschen

Note: [tab] is for the tab-separator character (would be '\t' in

Here, without additional information, DictionaryGeneration would index all expressions that are included in the explanatory texts (e.g. "The state of reduced consciousness of a human or animal"). This is undesirable.

The solution is to put the text that does not need to be included in the index between {{ and }}.

In the example:
sleep  {{The state of reduced consciousness of a human or animal}}[tab]Schlaf  {{Zustand der Ruhe eines Tieres oder Menschen}}

Then the size of the generated files would collapse. For an dictionary with an inputdictionaryfile of 2 MB as in the above example, the compressed result will likely be below 2 MB.

Define content declarations (optional)

Content declarations allow users to add different styles to different parts of a definition.  For example, all grammar tags could be displayed in blue color and all sample sentences could be displayed in italics.  For more information see here.

Using two source dictionaries (optional)

Typically only one source dictionary is used to create a built dictionary.  A input dictionary file has a headword followed by definition in the second language.  DictionaryforMIDs creates a bi-directional dictionary by building an index from language1 -> language2 as well as language2 -> language1.

However, you may have two separate input dictionary files.  One input file is from language1 -> language2.  The second input file is from language2 -> language1.  For information for setting up these kinds of dictionaries, please see here.

2. Setup the work environment

Download DictionaryForMIDs-Creator:

Here you will find DictionaryForMIDs-Creator (DfM-Creator) bundled with the latest stable release of DictionaryForMIDs.jar/jad free of any dictionary files, suitable for creating new dictionaries.

Extract the files to C:\ or /home/user/.  You may change the directory, but you will need to change the following instructions to meet your chosen directory.  Therefore it is recommended to leave the directory as C:\ or /home/user/ specially for novices.

The work environment contains the DictionaryForMIDs-Creator which is a GUI wrapper of the following tools:

DictdToDictionaryForMIDs Converts a Dictd dictionary file into a CSV file
DictionaryGeneration. Builds the index and dictionary files for you.
JarCreator Packages your index and dictonary files into one file (DictionaryForMIDs.jar).
BitmapFontGenerator Creates bitmap fonts for users who do not have the necessary fonts on their phones.
As an extra, there are also the DictionaryForMIDs.jar/jad files. These are the empty java midlet files in which the generated dictionary files will be put. These are not part of the DictionaryForMIDs-Creator application, they are java midlets that are in a separate directory.

Next, download Java (J2SE Runtime) and install it.  DictionaryforMIDs depends on Java to run.  You can get some information on how and where to download Java (JRE or JDK) here.


3. Creating a configuration file (

For a detailed description on how to create a file go here

4. Build the dictionary

For a detailed description on how to build the dictionary files, go here

Creating bitmap fonts (optional)

The users of your dictionary may not have the necessary fonts to use the dictionary.  For example, if you created an English -> Russian dictionary, then your users may not have the Russian fonts on their phone to view the Russian words.  Therefore it may be useful to add bitmap fonts to the dictionary.  This will enable the user to view any language contained in the dictionary. 

For documentation on how to generate bitmap fonts for your dictionary, go here

5. Publishing your dictionary and submitting it to the 'dictionary archive' (optional)

If your dictionary is open source, then you can publish it on the download page. For this, please send an email to Peter Kmet (send cc to Gert Nuber), see contact. Also, please post a message about your dictionary in the DictionaryForMIDs forum. Once your dictionary is published, please send also the inputdictionaryfile and the other files. They are needed for the 'dictionary archive'. For more information see here.

Packaging into a ZIP file

For packaging the files, put the 4 files (1) DictionaryForMIDs_xxx.jar (2) DictionaryForMIDs_xxx.jad (3) README.txt and (4) COPYING.txt into a ZIP file. You should use this file naming convention:
VVVVV: version of DictionaryForMIDs, for example "3.5.0"
XXX: language1FilePostfix, for example "Eng"
YYY: language2FilePostfix, for example "Por"
ZZZ: info on the origin of the dictionary (can be longer than 3 characters), for example "IDP" or "freedict"; sould be the same as defined in the property dictionaryAbbreviation.


If you have any problem while setting a new dictionary up, just contact us and we will try to help you !