[Mailman-i18n] Final i18n integration

Barry A. Warsaw barry@digicool.com
Wed, 16 May 2001 23:22:35 -0400


I'm hoping to release a new alpha of Mailman 2.1 some time this week,
and I would love to finalize the integration of the i18n stuff.  Below
are my current thoughts on the CVS and distribution structures
necessary to accomplish this.  Please comment!

To CVS:

    - Each supported language can be checked into the Mailman CVS tree
      as follows (for mythical language `xx'):

      templates/xx/*.{html,txt}  -- these are translated versions of
                                    the English templates

      messages/xx/README.xx -- a README file containing useful
                               information for anybody wanting to use
                               or modify this translation.  It should
                               include at a minimum the necessary
                               entry for LC_DESCRIPTIONS.  It might
                               also contain an email address to
                               contact the xx language's champion or
                               leader.

      messages/xx/LC_MESSAGES/catalog.xx
                              mailman.mo

			      -- these are the human readable
			         translation of the mailman.pot file,
			         and the binary .mo file

    - There will also be a messages/mailman.pot file checked.  I will
      update that file via pygettext.py when I've piled up enough
      changes to the translatable strings.

Distribution

    - Mailman will come with a default `en' language containing the
      original template files, but with no mailman.mo file.

    - Mailman will have a `light' distribution which contains only the
      English translations.  It might also be worthwhile to distribute
      a `sumo' package which contains all the checked-in languages.

    - Each language will be separately distributed as a tarball such
      that you can run the following in your install directory:

      % tar zxf mailman-i18n-xx.tgz
      % bin/newlang -l mylist xx

      and now language xx will be available to your users (after
      changing mm_cfg.py of course).

    - Thus, if we have 10 languages checked in, but you're only
      interested in 3 of them, you can download the light distro and
      then install only the language packs that you want.

I will definitely be looking for volunteers to manage the language
distributions, especially because I expect language updates to happen
asychronously from Mailman versions.  I think it will be too much work
for me to keep the languages up-to-date, shepherd the various
translation efforts, do all the language check-ins etc.  I'm willing
to give a few volunteers check-in privs to the Mailman tree if they
are willing to manage the language releases.  I'll try to write
scripts to make packaging language distros fairly easy.

Have I missed anything?

I'm going to spend a bit of time putting the basics together before I
commit stuff to CVS.  If anybody has fairly up-to-date translations of
both the templates and the catalog, please send me a link.

-Barry