[Python-Dev] The "i" string-prefix: I18n'ed strings
phil at riverbankcomputing.co.uk
Sat Apr 8 09:50:49 CEST 2006
On Saturday 08 April 2006 1:05 am, Barry Warsaw wrote:
> On Sat, 2006-04-08 at 00:45 +0200, "Martin v. Löwis" wrote:
> > *Never* try to do i18n that way. Don't combine fragments through
> > concatenation. Instead, always use placeholders.
> Martin is of course absolutely right!
> > If you have many fragments, the translator gets the challenge of
> > translating "dollars". Now, this might need to be translated differently
> > in different contexts (and perhaps even depending on the value of
> > balance); the translator must always get the complete message
> > as a single piece.
> Plus, if you have multiple placeholders, the order may change in some
I haven't been following this discussion, so something similar may already
have been mentioned.
The way Qt handles this is to use %1, %2 etc as placeholders. The numbers
refer to the arguments (the order of which is obviously fixed by the
programmer). The translator determines the order in which the placeholders
appear in the format string.
More information about the Python-Dev