Program for using diverse dictionary types on Java ME driven devices.


dict.common Classes used commonly for the index preparation and in the Java ME frontend. Java ME and midlet specific code.
dict.prepare Package building the command line utility for desktop computers for preparing dictionary files in order to use them on JavaME driven devices.


Program for using diverse dictionary types on Java ME driven devices. Consists of a preparation program for desktop PCs and for a Java ME frontend for mobiles etc.

Presently the program can be used for the following dictionary types:

  1. English-German (and vice versa) dictionary from,
  2. Various Universal Dictionary Database dictionaries
  3. German thesaurus
  4. Polish thesaurus

The package does not presently directly include any of the dictionaries listed above. You have to download them by yourself and build the whole application including the dictionaries in a format suitable on your mobile. The jar files of the package must contain the dictionary files as well. The dictionary files available in the internate become very soon outdated and distributing them is not always (though almost always :-) legal.

Warning! Especially the huge dictionaries and very often also the thesaurus won't work on many devices. Some phones don't even allow to start or install such huge midlets. Try it out and buy a more expensive device in doubt :-) Any hints about working and not working phones are welcome.

Do the following in order to bring the application to run:

  1. Obtain one of the dictionry files above.
  2. Install Java SDK (any of versions 1.3 and above should work, the Sun Wireless Toolkit Jakarta Ant
  3. Adapt the properties dicttype and dictsrcfile in the ant file build.xml. Additionally you may have to change the values of the properties mdlname, mdldesc and wtkdir. The property dicttype must be set to: The property dictsrcfile must be a full path to the dictionary file. The property wtkdir must point to the installation of Sun Wireless Toolkit. The property mdlname is the midlet name, put something plausible here, you'll probably have to avoid whitespaces and any other non human friendly characters in the midlet name. mdldesc is a short midlet description.
  4. Run ant. This should build ${mdlname}.jad and ${mdlname}.jar in the directory dist. See below for the explanation of the build steps.
  5. Copy the files to the phone and start them there. If possible, let them install on the memory card, the huge dictionaries won't surely fit into the internal memory of the device.
  6. :
  7. If you want to build another dictionaries, call ant cleanall and repeat the steps above.

Quick howto about how to use the application, assuming German-English dictionary compiled into midlet files deen.jad and deen.jar. Screenshots from the Sun WTK emulator, handling of the particular phone may slightly differ.

  1. Copy the files somehow to the device. Copy it using USB, Bluetooth or a web server and an IP connection (the last solution may be expensive, because the jar files are big)
  2. Launch the jad or the jar file on the device
  3. Enter the keyword to search and select "Search exact"
  4. Be patient and watch the results coming
  5. Enter a substring of the keyword you're interested in and select "Search similar"
  6. Be patient and watch the results coming.
  7. Scroll down to the keyword and select it
  8. Be patient and watch the results coming

The following steps are executed during the build process:

  1. The dictionaries must be prepared in order to use them as midlets. The targets compile-prep and jar-prep compile a java program for desktop computers making such preparation of the dictionary files. See the documentation of the namespace dict.prepare especially on the class dict.prepare.DictImport for more details.
  2. The target dicts-me starts the preparation program and creates prepared dictionary and index files in the directory preverified/d_.
  3. The targets compile-me, jar-me and jad build the JavaME binaries and a jar file containing the prepared dictionary as resources.