Chapter 9. The FreeDict CVS Repository

Table of Contents

Naming convention for dictionary modules
Importing new dictionary modules

The FreeDict CVS Repository is provided by SourceForge. The repository name as specified to the cvs command is freedict.cvs.sourceforge.net:/cvsroot/freedict. SourceForge provides two different access methods, ext (using SSH) for developers and pserver for anonymous read-only access.

The modules in the repository fall into two groups: dictionary modules and "special modules". Special modules are presently only the tools and howto module. The former contains conversion scripts, XSLT stylesheets, test scripts etc. used by most dictionary modules. The latter contains the XML source of this HOWTO.

[Note]Unused modules

The following modules are unused: website, htdocs, spa-spa, eng-ger, ger-eng. One of the first two should be reactivated, though.

Naming convention for dictionary modules

For naming the dictionary modules and their TEI files we use the format la1-la2.tei, where la1 and la2 are ISO 639-2/T 3-letter language codes (ISO 639-1 defines the two letter codes; the "T" stands for "Terminology"). See also the ISO 639-2 Registration Authority, where this standard is made.

Importing new dictionary modules

If you are a developer of FreeDict and have write access to the repository, you can import this way:

cd la1-la2

This step assumed you keep all files related to your new dictionary in a directory la1-la2, obviously.

[Warning]Warning

Importing has to be done from the directory itself, otherwise CVS will create an ugly subdirectory like la1-la2/la1-la2 that will not be removable from CVS again (it contents can be removed, but not the directory itself) - so please be careful!

cvs -z3 -d:ext:developername@freedict.cvs.sourceforge.net:/cvsroot/freedict import la1-la2 vendortag releasetag

If your dictionary doesn't come from another place, you can invent dummy values for vendortag and releasetag. Otherwise, use them as intended by CVS: If you import files from some upstream project, use that project's name as vendortag and that project's release version as releasetag.

If you do not have CVS write access, ask a developer to import your TEI file (or eventual code to create the TEI file from a different format) into the FreeDict CVS repository.

[Note]Note

At present it is still undefined whether to import a TEI file as well, when it can be made from other sources. The cleanest solution in such case would be not to import it, but to import the sources and create a file release of the TEI file.