TP Translation Project You code, we translate.

Site overview

The site of the Translation Project consists mainly of a hierarchy of public PO files -- these are intended to help maintainers, translators, and coordinators to share files and to communicate. This site is not intended as a distribution place that makes translations available to all users: the PO files are normally distributed within the released packages.

  1. POT-files/

    This directory contains all available PO template files, which hold untranslated messages only. The most recent versions are there, but also old ones. Each file is named DOMAIN-VERSION.pot, according to the name of its textual domain and its version number. The textual domain name is usually identical to the package name.

  2. PO-files/

    This directory contains all officially accepted PO files, for packages that have already been released or will soon come out. Per language there is a subdirectory, using the two-letter language code LL as its name. Each PO file in these subdirectories is named according to its textual domain, its version number, and its target language: DOMAIN-VERSION.LL.po. The DOMAIN part is usually identical to the package name. Obsolete PO files may be deleted from these directories, they are not kept forever.

  3. latest/

    From this directory package maintainers can always fetch the latest official PO files for their package, from the subdirectory that is named simply DOMAIN (without a version number). Each of these subdirectories contains symlinks of the form LL.po, which link to the most recent file for that language in the PO-files/ directory.

  4. SVN

    The scripts that produce the web pages and drive the TP mailing robot are accessible through a Subversion repository:

    svn.vrijschrift.org/tp-repo/TP/

    Among its contents are the following files:

    1. webgen/disclaim.txt

      This file contains the translator disclaimer all translators should print out on paper, fill out in writing, sign, and return to the FSF by postal mail. Detailed instructions are given within the file.

    2. webgen/maintainers.all

      Whenever a maintainer wants to internationalize his/her package, this file holds some useful indications about how to proceed. It does not say all that it should yet, however.

    3. webgen/translators.all

      Whenever a new potential volunteer writes to the TP coordinator asking for more information, this file is usually fully included in the reply.

    4. registry/AUTHORS

      This file lists all translators who fulfilled the requirement of disclaiming their rights to the translation work they did, so the Translation Project may safely use and distribute it.

    5. registry/theregistry.dtd

      This defines the structure for the registry.sgml file.

    6. registry/registry.sgml

      The Translation Project registry is a single UTF-8 encoded SGML file which replaces a few previous tabular files which were holding the ranslation Project data. Most Python scripts in bin/ have been adapted so they use the cache/registry file (which is a digest of this SGML file) using interfacing Python modules kept in lib/.

      This fairly important file lists generic information about each team: what is the preferred charset in use, who coordinates it, what are the local web sites and mailing lists, etc. For each team, all known working volunteers are listed, together with their email address, their legalese status with the FSF, and for which textual domains they have clearance with their team, as established by the team coordinator.

      This file also contains a subset of iso-639 in a format suitable for a few semi-automatic scripts needing to translate a team code to the language name, while indicating which PO-files/LL/ directories currently exist in the Translation Project.

      This file finally provides data for a few semi-automatic scripts with the maintainers' address for various textual domains, for keeping maintainers well informed of what is going on with the translations aimed for them.

  5. Coordinator tools

    (This is still just a very partial list.)

    1. Makefile

      This file is meant for handling this hierarchy in various ways. See the bin/ scripts if you are interested in how things are being done.

    2. bin/run-queue.sh

      This script is run every ten minutes, and runs the robot if any mail has arrived in its mail queue.

    3. bin/tp-robot

      The robot script extracts a PO file from each received submission, runs several checks on the file, and mails a report back to the translator. The extracted PO file it hands over to po-register.

    4. bin/po-register

      This script stores the given PO or POT file in the archives, calls calc-postats to calculate the statistics for the file, calls localweb.py to regenerate the affected team and domain pages, and sends a notification email to the team list and (when appropriate) to the package maintainer.

    5. bin/calc-postats

      Calculates the statistics for the given PO or POT file: the number of translated messages, and the total number of messages. It stores these numbers, together with some other info, in cache/postats so that they are later quickly accessible.

    6. lib/localweb.py

      This module contains the code that generates the domain/ and team/ pages, which give an overview of the PO files available for a package and of the translation situation of a team.

    7. bin/po-normalize

      This script was used to normalize a PO file before msgmerge was adjusted to do it correctly. So this file is obsolete.