From Fedora Project Wiki

Revision as of 10:53, 4 April 2020 by Ersen (talk | contribs) (Fix formating.)

The Fedora Localization Project - Tips for Translators

Controlling parameters order

When translating, sometimes the translation of a particular string requires different parameter order. But it is usually not allowed to change them in the translated string. There is the workaround to change the order in translation, and it can be found with info gettext command.

For example; in German, this won't work:

msgid "String '%s' has %d characters\n"

msgstr "%d Zeichen lang ist die Zeichenkette '%s'\n"

In order to specify the parameter order, the number with $ mark can be given as below:

msgstr "%2$d Zeichen lang ist die Zeichenkette '%1$s'\n"


Alternatives

In some cases, you may see a string that looks like "%(var)s". This variable can be moved within a string in any order.

msgid "String '%(str)s' has %(char)s characters\n"

Translated:

msgstr "%(char)s Zeichen lang ist die Zeichenkette '%(str)s'\n"

No other changes are required.