The FreeDict tools are used to import, export (build) and manage FreeDict dictionaries.
FreeDict databases are encoded in the TEI XML format (chapter 9), see http://www.tei-c.org/release/doc/tei-p5-doc/en/html/DI.html.
The conversion is based on XSL stylesheets (see directory
xsl/). These can in
principle transform to any format, but only the .dict format is supported at the
More information is in the wiki at https://github.com/freedict/fd-dictionaries/wiki/.
You should have at least the following tools installed, to build the dictionaries: make, xsltproc, tar, gzip, dictzip, dictfmt
For proper use of all our tools, Perl, eSpeakNG, Python > 3.4 are required, and Git and a XML-capable editor are recommended.
If you use Debian/Ubuntu, you should install the following packages:
sudo apt-get install make xsltproc libicu-dev python3 python3-icu virtualenv python3-virtualenv espeak-ng git
Setting Up The Build System
You should clone this repository to a path with no spaces and add an environment
FREEDICT_TOOLS to point to this directory.
A lot of the internal scripts need additional Python libraries. To fully make
use of them, you should set up a Python virtual environment for that. To help
you getting started,
make mk_venv is there to guide you through the process
make mk_venv-help will explain you why and how you should use
Hint: It is possible to set up a environment without virtualenv. See the file requirements.txt for more details.
Once done, you can get help on the available actions in any directory containing a
Makefile by typing
Most of the documentation can be found in the FreeDict HOWTO at
In general, it is a good idea to have a look at our wiki at
Furthermore, the whole build system is explained in chapter 8 of the HOWTO, mentioned above.
Additional Output Formats
For creating slob files, you need to install tei2slob:
virtualenv env-slob -p python3 --system-site-packages # create self contained python env source env-slob/bin/activate # activate it pip install git+https://github.com/itkach/slob.git # install general slob tools pip install git+https://github.com/itkach/tei2slob.git # install tei2slob converter
Now tei2slob will be in your path. For new shells, you will have to execute
source env-slob/bin/activate again, or put env-slob/bin/tei2slob into your
Sebastian Humenda, Mar 2018