>Taking the example of pluralizations of quantities it won't work for
>Russian. Words depending on their form have different alforithms of
>adjustment for numbers. Typical words have 3-4 different forms for
>different numbers. And I can't tell exactly how many of those forms
>exist but it's like some dozens of them :-). So simple singular/plural
>just won't cut it :-).

gettext takes care of that. The singular/plural is _only_ used for the
source - the translations can provide different pluralization
algorithms. It's already in use in the "sr" translation. The problem
with pluralization is not the handling for different languages, but the
syntax. And the fact that you need to provide singular+plural for the
_source_ language (usually english). There are many more languages that
have more complicated pluralization rules, so it's a known problem ;-)

I don't know how good the python gettext module handles them, though -
didn't have a chance to test that, as German is quite standard with
regard to singular and plural. But the python gettext module includes
code for handling the pluralization algorithm specs - it contains a
small "compiler" that translates the pluralization algorithm into
python lambda expressions, so it _should_ handle all cases that can be
handled by gettext itself. There shouldn't be any need to do different
templates because of pluralization.

If you are interested in it: look at the gettext.py in your python
distribution for the c2py function, that's the little sucker that does
the translation stuff. It's mostly a sanitizing check and some string
massaging and a python eval to get the result.

bye, Georg

Reply via email to