How to create your own dictionaries.

First, read doc/DICTFILE_FORMAT.

Second, install stardict-editer package. For more tools, download the stardict-tools source code tarball and compile it, you will find many tools at src/, such as tabfile, babylon, stardict2txt, stardict_verify.

In most case, I recommend the "tabfile" converter to create your own dictionaries. You need to create a text file first, it should be encoded in UTF-8, and the new line characters should be "\n", if it is in DOS file format("\r\n"), you can use "dos2unix" to convert it.

Here is a example dict.tab file:
============
a	1\n2\n3
b	4\\5\n6
c	789
============
It means: write the search word first, then a Tab character, and the definition. If the definition contains new line, just write \n, if contains \ character, just write \\.

Then use "tabfile" to compile it:
./tabfile dict.tab
You will find three files that are generated by tabfile: "dict.ifo", "dict.dict" and "dict.idx", then you can compress the "dict.dict" file by dictzip:
dictzip dict.dict
You will get the "dict.dict.dz" file. You can find dictzip at DICT project, http://www.dict.org, just download its source code tarball and compile it, then you can find "dictzip" in it.
StarDict can load the dict.dict directly too, so dictzip is optional.

You can use gedit to edit the "dict.ifo" file, change the bookname, description, etc. and you can look at the "src/example.ifo" file for a example. Use "ls -l dict.tab.idx" to get the idxfilesize.

Now you can create a directory at /usr/share/stardict/dic/, for example:
mkdir /usr/share/stardict/dic/example-dict/
And move dict.dict.dz, dict.idx, dict.ifo into this directory:
mv dict.dict.dz dict.idx dict.ifo /usr/share/stardict/dic/example-dict/

It is suggested that you verify this dictionaries at last by:
./stardict_verify /usr/share/stardict/dic/example-dict/dict.ifo

Run StarDict and you will find the dictionary that created by yourself.

Another format that StarDict recommends is babylon source file format, it is just like this:
======
apple|apples
the meaning of apple

2dimensional|2dimensionale|2dimensionaler|2dimensionales|2dimensionalem|2dimensionalen
two dimensional's meaning<br>the sencond line.

======
Use babylon to compile it. stardict-editer can compile it too.

If you want to distribute your dictionary at StarDict website, just contact me.

Hu Zheng <huzheng001@gmail.com>
http://www.huzheng.org
2006.6.29
