FreeDict - free (multi/bi)lingual dictionaries
This wiki page documents the work flow and the usage of FreeDict dictionary databases in Debian. Users should directly skip to the [[#Using_FreeDict_dictionaries|Using FreeDict dictionaries]] section.
- FreeDict - free (multi/bi)lingual dictionaries
The FreeDict project aims at providing free (multi|bi)lingual dictionary (databases) and this team aims at packaging the latest versions to include at both in Ubuntu and Debian Stable/Unstable.
The preferred editable form of the data is in TEI/XML a file format under active maintenance by the Text Encoding Initiative.
The source can be obtained by checking out:
git clone https://alioth.debian.org/git/pkg-freedict/freedict.git
If you have an alioth account, check out:
git clone ssh://<username>@alioth.debian.org/git/pkg-freedict/pkg-freedict.git
Using FreeDict dictionaries
A list of dictionaries can be obtained e.g. through
aptitude search dict-freedict
You can install all dictionaries using
apt-get install dict-freedict-all
(if anyone wants that ;-)).
In addition to the dictionary databases you need a program to view them. You have two options:
- you can install opendict or goldendict, which views the databases directly
- you can use the classical dictd client/server software:
apt-get install dictdYou then need a dict client, for instance:
- dict (a command line client)
Explanation Of Files Under debian/
The database of databases with information about the size, author, name and download destination can be found at http://www.freedict.org/en/db-as-xml.html. This data is used to construct a freedict.orig.tar.gz (the original source) which is then imported.
For performance issues, the freedict-database.xml (with all the dictionary information in it) is cached, one should run
to get the latest version.
get orig.tar.gz distribution
In order to fetch the latest FreeDict source, one executes
The usage is explained in the first lines of the mentioned file. After this, the orig.tar.gz-file can be imported with git-import-orig from the git-buildpackage utilities.
From time to time, one should also update the debian/iso.*-file with the language codes, used to translate the short dictionary names like afr-deu into long names for package descriptions. They can be found at http://www-01.sil.org/iso639-3/download.asp.
debian/control is auto-generated.<<br>> Modifications for the source package should be done in debian/control.HEAD, everything else is then generated with
debian/copyright is also semi-auto-generated. The command
generates the copyright (and control) file. The generated file MUST be checkd afterwards.
The generation consists of the following steps:
- include debian/copyright.snippets/HEAD
- for each dictionary look for an exception in debian/copyright.snippets and if present, include it
- if no exception was found, use licensecheck and if it fails afterwards a home-brewed license identifier to collect information about the license. Currently only GPL is used - and recognized.
- every dictionary where the license cannot be found will get "FIXME" as its license value
The Actual Build Process
There is essentially only a loop going through all directories and executing <tt>make lang-lang.dict.dz</tt>.
One special exception is hung-eng and eng-hun, where the database is extracted from a special file before the above explained run.
Contact And Help Wanted!
Our mailing list can be joined by sending a mail to email@example.com or by visiting the subscription page. The posting address is firstname.lastname@example.org. The archive can be found at http://lists.alioth.debian.org/pipermail/pkg-freedict-discuss/.
We have also an IRC channel, just join us on irc.debian.org in the #debian-freedict channel!
We always need help, be it sporadic or permanent help, it is always welcome.
Currently, the team consists of:
* Sebastian Humenda as packager * Sébastien Villemond as package uploader/co-maintainer
Please see also our to do section.
To Do / Roadmap (?)
Have a look at the current bugs:
Further things to be done:
- package freedict-tools as separate package
- parallelize build process ( no data dependencies actually)
- find someone with opendict-knowledge and let them tell us how we add dictionaries to the opendict database (or validate whether the old way works) ! adjust maintainer scripts to register databases in goldendict
package descriptions are autogenerated from data, do the very same with translations, see http://www.debian.org/international/l10n/ddtp
- review old patches under debian/patches.old and commit those upstream, if appropriate
- ! could be split among several persons, so everyone has only a little piece of work