Mailman - The GNU Mailing List Management System
Copyright (C) 2001,2002 by the Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
INTERNATIONALIZATION
Mailman 2.1 is multilingual. By default it supports English, but
additional languages may also be available. If the language you
want to add is already supported by Mailman, then getting all your
lists to also support that language is fairly easy. You just need
to go to the administrative web pages, click on the "Languages"
category, and select the languages you want your list to support.
If the language you want to use has not been previously
translated, or you don't know where to find the language pack for
your language, read the section below or contact the Mailman
internationalization mailing list mailman-i18n@python.org.
ADDING NEW TRANSLATIONS
Suppose you want to add new translations for a previously
unsupported language, what steps would you need to take?
First, you should send a message to mailman-i18n@python.org to
make sure nobody has already created the translations for your
language. In the example below, we're going to create a
translation for the mythical language "Fredonia" which has the
official language code of "xx".
You should also see
http://www.list.org/MM21/i18n.html
for more information on internationalizing Mailman.
In general you need to do two things to add translations for a
language in Mailman. You need to translate the message catalog
and you need to translate the templates.
To translate the message catalog, grab the file
messages/mailman.pot and make a copy called mailman.po in the
subdirectory messages/xx/LC_MESSAGES. Then you edit the file and
add the translations for each message identified in the catalog.
It will be very helpful to have a good tool, such as KDE's KBabel
tool, or po-mode for Emacs, for this part of the job.
Once you've added your translations, you can then run msgfmt over
your .po file to generate messages/xx/LC_MESSAGE/mailman.mo.
Next, create the subdirectory templates/xx and translate each of
the files in templates/en/*.{html,txt}. These you should also
donate back to the Mailman project.
To make Mailman and your lists aware of the new language, follow
the directions in the section above.
TRANSLATION HINTS
Q: If your language uses non-ASCII characters, such as the cedilla in
French, how should you add these to the catalogs and templates?
A: For any message that is destined for the web interface, use an
HTML entity reference where appropriate. For messages destined
for email, you should use the non-ASCII characters explicitly.
This includes both for the message catalog and the templates.
RESYNCHRONIZING THE CATALOG
As Mailman development continues, new updated catalogs
(i.e. mailman.pot files) will be made available. As mailman.pot
changes, the individual language catalogs
(i.e. xx/LC_MESSAGES/mailman.po files) need to be updated as well.
In general, I as the Mailman maintainer will merge the new
catalogs with the individual language catalogs, and commit the
updates to CVS. Translators should grab the new mailman.po files
from CVS and update the translated messages. They should also
update the template translations.
For best results, you will probably want to keep current on
changes to Mailman 2.1 in the CVS. As Mailman 2.1 moves towards
final release, the catalogs and templates should start to
stabilize. Alternatively, occasionally I will make new English
language packs available on SourceForge, and you can use these to
create your translations.
DONATING YOUR TRANSLATION BACK TO MAILMAN
We'd really appreciate it if you donate your translations back to
the Mailman project, so that others can benefit from your effort.
You'll get credit of course, in the Mailman documentation. Here
are the steps to donate your translations, either the first time
or subsequent updates.
The best thing to do is to send me <barry@python.org> a "tarball",
i.e. a gzip'd tarfile, that can be unpacked in the top level
directory of the Mailman CVS tree. This would be the directory
containing this README-I18N.en file.
Your tarball should contain two directories, where your donated
language is `xx':
templates/xx
messages/xx
In templates/xx there should be the translated templates, all the
.txt and .html files, for your language, mirroring those in the
English template directory (always the master copy).
In messages/xx you should have a single directory LC_MESSAGES, and
in that directory a file called mailman.po, which is the human
readable catalog for your language. Do not send me the mailman.mo
file, since I'll recreate it on my end, and that'll save on the
size of the tarball.
That's basically it. If you need to include a README, please call
it README.xx and put it in the messages/xx directory. README.xx
can be in your native language.
You can email the tarball to me, and if this is the first
installation of the language, please tell me what the
add_language() call in Defaults.py.in should be for your
language.
CURRENT LIST OF LANGUAGE SUPPORTED OUT-OF-THE BOX
As of this writing (23-Dec-2002), Mailman 2.1 supports the
following languages out of the box:
- Czech
- Chinese (Simplified and Traditional)
- Dutch
- English
- Estonian
- Finnish
- French
- German
- Hungarian
- Italian
- Japanese
- Korean
- Lithuanian
- Spanish
- Swedish
- Norwegian
- Portuguese (Brazil)
- Russian
We've also had volunteers for these languages, although they
aren't yet integrated into the code base:
- Catalan
- Polish
Local Variables:
mode: text
indent-tabs-mode: nil
End: