JSlovo

A multiplaform dictionary

The idea behind the dictionary

jSlovo is among fastest database engines for dictionaries. It is available for any platform where Java can be used (Windows, Linux, Apple, Android). It is mainly designed for the use with free dictionaries and thesauruses. In addition, jSlovo can be used to create a file-based database from a text file and then use it to search for a particular definition. One unique feature of this dictionary is that it is very fast. A data access is at the level of a few hundred milliseconds for scanning 1 million definitions in a dozens of different dictionaries.

A clone of JSlovo for the Android platform is called ASlovo (A - means "Android", unlike "J" which means "Java"). The functionality is almost the same. One difference is that ASlovo can be used to download dictionaries automatically. You can install ASlovo from ASlovo android market.

Here are the main features of JSlovo:

  • Very fast. It normally takes a few hundred milliseconds for scanning 1 million definitions in a dozens of dictionaries
  • It can scan any large number of dictionary databases. The size of the databases are not limited.
  • Runs on Windows, Linux, Mac and Android tablets;
  • jSlovo dictionary databases from text files can be created using JSlovo GUI
  • Everyone can upload and share dictionaries
  • Created databases are very compact
  • Based on UTF-8 encoding;
  • One can use HTML tags in the text files for created databases;
  • During the search, HTML files are created with the results of the search. Each definition can further be searched;
  • Search can be done using substrings.
  • Virtual keyboard

Posted by jwork.org on Jun 01, 2011
Tags: JSlovo

How to run JSlovo using Java

Simply unzip jsovo-[version].zip file. Run as: java -jar jslovo.jar. More conveniently, run the script "jslovo.sh" (for Linux/Mac/Unix) or jslovo.bat (Linux) Database files (with the extension jdic) should be located in the "dbase" directory.

How to make JSlovo database:

The dictionaries can be taken from http://www.dicts.info/ or any other place. The only requirement is that the text file should be in UTF-8 format, with one translation per line, and definitions should be separated by tabulator or "|".
  1. First, you have to prepare the JSlovo database. You can download many text files with the dictionaries which can be converted to JSlovo database format if you will go to http://www.dicts.info/. They all should be compatible with JSlovo, since they use "word<tab>word2" format. The default behaviour for jSLovo is "word | definition", where "|" is used as a separator. In order to convert text files with such structure to the compact and indexed JSlovo files with the extension jdic, you should open the text file of your dictionary and copy a few lines at the very top of each text file:
  2. <name of this file without the extention>
    # this is a comment
    #
    ?jslovo-shortname | put here short name of the dictionary
    ?jslovo-fullname | put here more information
    ?jslovo-info | put here license information if possible
    # the rest of the file
    reload | (tr) to place (cargo, goods, etc.) back on (a ship. lorry, etc.)

    For example, if you downloaded "english-german.txt", put at the very beginning these lines:

    english-german
    # this is just comment
    ?jslovo-shortname | English-German
    ?jslovo-fullname | English-German free dictionary
    ?jslovo-info | 1999 under GNU GPL
    Achtung | Attention

    See also an example in "doc/example.dic". The user can use HTML tags in the text files. The selected dictionary should be in UTF-8 format, with one translation per line and words separated by tabulator or "|". One can use HTML tags in the definitions.

  3. Then open this file using JSlovo (Open "Tools-Make database-open"). Make sure that the file has the extension ".dic" or ".tex". After opening this file, you should see the progress bar and some messages about the status of converting the text file into the database. Usually, for 50k raws, it takes 10 seconds. The database will have the extention ".jdic" and will be copied to "jslovo/dbase" directory
  4. Restart JSlovo. This will make the database available for the user. You can select any number of databases using JSlovo GUI.
All such metadata information can be accessed by the dictionary. For example, just type "###" and press search. You will see a complete information about the dictionary (license, numbers of definitions etc.)

License

For more information about the license look at JSlovo license