Differences between revisions 21 and 22
Revision 21 as of 2014-02-13 19:20:06
Size: 5766
Editor: moomoc
Comment:
Revision 22 as of 2014-03-22 14:10:02
Size: 5800
Comment: very minor fixes
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
databases in Debian. Users should directly skip to the "using FreeDict
databases" section.
databases in Debian. Users should directly skip to the [[#Using_FreeDict_dictionaries|Using FreeDict
dictionaries]] section.
Line 104: Line 104:
debian/control is auto-generated.<br /> debian/control is auto-generated.<<br>>
Line 119: Line 119:
generates the cpyright (and control) file. The generated file MUST be checkd afterwards. generates the copyright (and control) file. The generated file MUST be checkd afterwards.
Line 171: Line 171:
     ! could be split amon persons, so everyone has only a little piece of work      ! could be split among several persons, so everyone has only a little piece of work

Translation(s): English - Italiano


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.

About FreeDict

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.

Repository

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 dictd
      You then need a dict client, for instance:
      • dict (a command line client)
      • gnome-dictionary

Build Process

Explanation Of Files Under debian/

debian/freedict.xml

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

debian/fetchdictdata.py -x

to get the latest version.

get orig.tar.gz distribution

In order to fetch the latest FreeDict source, one executes

debian/fetchdictdata.py -f

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.

debian/iso-639-3_20130123.tab

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

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/fetchdictdata.py -dc

debian/copyright

debian/copyright is also semi-auto-generated. The command

debian/fetchdictdata.py -dc

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 pkg-freedict-discuss-subscribe@lists.alioth.debian.org or by visiting the subscription page. The posting address is pkg-freedict-discuss@lists.alioth.debian.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:

[http://packages.qa.debian.org/f/freedict.html]

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