================
Translating epoz
================

epoz uses Zope's i18n machinery to translate user strings. Zope uses
standard gettext message catalogs. Somebody who has already translated
some other open source product that uses gettext will be familiar with
this.

Adding a new language
---------------------

The language message catalogs lie in subdirectories of this
directory. If you want to add a language that is not yet supported,
create a directory with the two letter code of that language ('de' for
German, 'fr' for French etc.). Use the standard notation when you're
translating for a local derivative of that language, i.e. 'pt_BR' for
Brazilian Portuguese, 'de_CH' for Swiss German etc.

In that language directory, gettext expects a directory called
'LC_MESSAGES'. In the LC_MESSAGES directory, it expects the message
catalog called 'epoz.mo' (since we're in the 'epoz' domain). Message
catalogs are compiled. They are being edited in their text equivalent,
in this case epoz.po.

When you are adding a new language to epoz, copy the 'epoz.pot'
template to <your_language>/LC_MESSAGES/epoz.po and edit it. Use::

  msgfmt -o epoz.mo epoz.po

to compile the text to a message catalog. In case you are going to
check this translation into CVS, make sure you add the message catalog
(epoz.mo) as a binary file using the -kb flag::

  cvs add -kb epoz.mo

Updating an existing language
-----------------------------

When epoz core has been changed or extended and new user messages have
been introduced, the epoz.pot template file will contain new message
ids which will have to be translated. In order to add these new
message ids to your translation file, so that you can translate them,
issue the following command::

  msgmerge -U <your_language>/LC_MESSAGES/epoz.po epoz.pot
