[Perkamon-devel] Introduction, and a couple of questions

Denis Barbier bouzim at gmail.com
Wed Sep 22 17:17:55 UTC 2010


On 2010/9/22 daniel cabrera wrote:
> Hi,
> My name is Daniel Cabrera, and I'm, one of the members of the Fedora
> Spanish translation team. We're on the process of updating our version
> of the man pages, and Denis Barbier kindly offered us to host them here.
> Although the final decision is not depending on our translation team, I
> don't see any real trouble of doing so. Anyway, we have some really
> basic questions that I'm sure will help to make that decision, and those
> are:

Hi Daniel,

First of all, hosting does not really matter IMHO, the key point is
maintenance (hence your questions below ;)).  It would be better to
have a single project which provides POT files and run msgmerge on PO
files, and language teams update their PO files as with any other
program, because currently the task of syncing POT files with upstream
man-pages is duplicated.
I will briefly describe how we work in the perkamon project.  Some of
the folks behind man-pages-ru follow this list; you are very welcome
to describe what you do in man-pages-ru if you want.

We decided to group manual pages by sections, because
  * Some strings are duplicated
  * Often the same fix is applied upstream on many pages; it is easier
to check changes in a single PO file than opening a bunch of PO files.
But some gettext tools run slowly with huge files (I do not remember
exactly which one, I guess that it is msgmerge), thus sections 2, 3
and 7 are split into smaller pieces:
   http://gitorious.org/perkamon/man-pages/trees/3.26/po4a
Each directory contains a configuration file; to update PO files in
man4 and build translations:
   $ po4a po4a/man4/man4.cfg
The configuration file contains options specific to a given file, but
one may pass global options, for instance if you want to update PO
files but do not want to generate translated manual pages, you can run
   $ po4a --no-translations po4a/man4/man4.cfg
All the add_* lines in the configuration files are about addenda, you
can skip them for now.  Please note that this project requires po4a >=
0.39; if this is a problem, we could easily duplicate configuration
files so that they work with older po4a, e.g. copy po4a/man*/man*.cfg
into po4a-0.35/man*, edit those files and run
   $ po4a po4a-0.35/man4/man4.cfg

> 1. How do we send for the first time our updated version of man pages? A
> *.tar file with the *.po's? A *.tar file with the .troff files? As an
> *.RPM?

We use git at
   http://gitorious.org/perkamon/man-pages
So either I give you write access so that you commit your files there,
or you send me a tarball and I commit them.

> 2. Once you have them all, how do we keep them updated along the future
> versions to come?
>
> Please notice that the platform that Fedora uses to transalte is
> Transifex [1], and that our idea with the man pages is to have something
> similar to what the Russian team have [2].
>
> [1] http://www.transifex.net/
> [2] http://www.transifex.net/projects/p/man-pages/

Transifex user is a member of the perkamon-developers team, which has
commit access to our git repository.  Thus I believe that Transifex
can commit into our repository, but we did not yet make tests.

But please note that the workflow is a little bit more complicated
than that, because there are 2 different kinds of updates:
  (a) Update strings which have been modified upstream
  (b) Improvements in existing translations (no changes in English text)

We made several experiments to handle French translations, and the
current process is:
  * master follows git HEAD of man-pages
  * Branches are created to contain manual pages from official releases
  * We commit translations only in master
  * We merge (b) commits (ie. improvements in existing translations)
into stable branches, but not (a) commits.
Of course this means that commits of types (a) and (b) are distinct
and can be classified.  When a log message begins with Update, it is a
commit of type (a).
With this workflow, we can provide improved translations for 3.25,
3.26, etc so that any distribution can pick the version matching its
man-pages release.

Denis



More information about the Perkamon-devel mailing list