[Mailman-i18n] Internationalized Mailman

Barry A. Warsaw barry@wooz.org
Wed, 8 Nov 2000 20:39:34 -0500 (EST)

    BAW> One piece is marking all the translatable text in the
    BAW> Mailman sources.  You should work on this last and don't
    BAW> spend much time on it.  I'm actually starting to do that
    BAW> myself, as I'm playing with the i18n infrastructure.

    VG> This is the cornerstone of the I18N effort. The problem is
    VG> that it can block the testing of the other pieces.

Not necessarily.  We don't have to have absolutely all of the code
marked to start integrating the pieces and making sure the
infrastructure works as intended.
    VG> This part has, also, been done with 1.2, which we have
    VG> successfully put into production due to managerial decisions
    VG> in our University. It works like charm, except some glitches
    VG> that Juan C. has patched.

    VG> To get this functionallity we have
    VG> done the following changes and additions:

    | + To the list object:
    | - Added 'preferred_language' attribute, for the list default
    | language
    | - Added 'language' dictionary with the users' preferred language,
    | the user mailaddress is the key to get the language she
    | has set for the list.
    | - Added the neccesary methods for setting and getting these.
    | - Added a method for listing the available languages for the list.

Looks good.

    | + Created functions in Utilites for:
    | - Getting the server available languages.
    | - Getting the language descriptions.
    | - Getting the language charset.

Looks good.

    | + HTML formatting.
    | - Add the necesary code for generating selects.


    | + Default.py
    | - Some Barry Warsaw, decided to put the common code for language
    | initialization at the bottom of this module.


    | + Showering all over the code.
    | - Added the necesary changes for language selection.

Okay, I'd definitely like to see this part.

    | + Storage.
    | - Creating directories for holding language specific files in
    | every list.
    | - Creating directory hierarchy for catalogs and templates.

And this.

    | + Support scripts.
    | - newlang, to add languages to a list.
    | - rmlang, opposite of above.


    | + gettext.py
    | - Modify to addapt to our requirements. (Changes sent to author).

Okay.  Here we want to use Python 2.0's gettext module.  If there are
problems with that, then we want to fix it (and if necessary, ship the
fixed version in pythonlib for a while).  Mailman is going to be one
of the first Python applications I can think of that will be
internationalized, so it's a guinea pig for Python's i18n support too!

    VG> As you can see this is a surgeon's task. This part must be
    VG> carefully done by a very reduced team ( = JCR+VG :)

Completely agree!  And I'm going to have to spend some serious time
integrating and proofing it all too.  I have to understand how it all
works.  That's where breaking it down into the smallest cohesive chunks
possible will really help.

    VG> We have a good team of volunteers for some languages, which
    VG> have already done translations of the .po files for 1.2 into
    VG> danish, english, german, italian, spanish and mostly
    VG> czec. Some others have shown interest in languages as
    VG> gallician, basque, japanesse, brazilian/portuguesse and
    VG> dutch. We think this could proceed in parallel with the second
    VG> piece, of course, it cannot start before we have done the
    VG> first piece.