Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
July 1, 2021 17:51
June 26, 2021 08:40
June 27, 2021 20:16
January 28, 2012 21:23
July 4, 2013 18:57
January 20, 2012 18:18
July 1, 2021 23:41
January 14, 2015 10:47
November 11, 2020 10:34
June 26, 2021 08:40
See: dict/README

This is the top level directory of StarDict project. StarDict project consists of StarDict dictionary and StarDict tools subprojects.
The directory does not contain any code to be build, instead it passes control to subproject in order to configure and build them in correct order.

The top level directory contains the following subdirectories:
- dict - StarDict dictionary
- tools - StarDict tools
- lib - a library with common code used by StarDict dictionary and StarDict tools

Each subdirectory contains an independent project with its own configure script.

In version 3.0.2 and before StarDict dictionary and StarDict tools were independent projects,
they were distributed in separate tarball. There are many code pieces that may be shared between
both project. They are mainly small convenience functions, but large classes like ones that 
read dictionary files may be shared as well. Common code was moved into a convenience library.
This library does not mean to be installed on the client machine, it's linked statically with
relevant programs. The new design of the project force that both StarDict dictionary and
StarDict tools now be distributed in a single tarball.

If you checkout StarDict source code from a repository, you need to bootstrap the project. 
Execute the file in the root directory. Now you should have configure script and
other files required to configure and build the project.
Note that does not automatically invoke the configure script.

Configuring the project. By default, both StarDict dictionary and StarDict tools will be configured.
You may disable any subproject with configure options --disable-dict and --disable-tools.
For example, to configure only StarDict dictionary, invoke configure script as follows:
./configure --disable-tools

It's recommended to configure and build StarDict in a separate directory to source code. 
That preserve the source tree clean.

StarDict dictionary and StarDict tools subprojects support their own configuration options.
To see the list of supported option, invoke the top level configure script with --help=recursive option, 
or invoke configure script in subprojects with --help option.

Options passed to the top level configure script will be passed to configure script in subdirectories, 
that allows you to configure subprojects.

Now you may build and install the project:
make install

For information about specific subproject, recurse into the respective subdirectory. 
Read README, INSTALL and other files.

License notes

The project is licensed under GPL version 3 or (at your option) any later version.
The following files are exceptions:
dict/src/lib/ctype-utf8.cpp - GNU Library General Public License
dict/src/lib/ctype-uca.cpp - GNU Library General Public License
dict/src/eggaccelerators.h - GNU Library General Public License
dict/src/eggaccelerators.cpp - GNU Library General Public License