Controlando a ordem dos parâmetros
Ao traduzir, algumas vezes a tradução de uma string específica requer ordem de parâmetro diferente. Mas geralmente não é permitido alterá-los na string traduzida. Existe uma solução alternativa para alterar a ordem na tradução e pode ser encontrada com o comando info gettext
.
Por exemplo, em alemão, isso não funcionaria:
msgid "String '%s' has %d characters\n" msgstr "%d Zeichen lang ist die Zeichenkette '%s'\n"
Para especificar a ordem dos parâmetros, o número com a marca $ pode ser fornecido como abaixo:
msgstr "%2$d Zeichen lang ist die Zeichenkette '%1$s'\n"
Alternativas
Em alguns casos, você pode ver uma string semelhante a %(var)s
. Isso é chamado de variável e pode ser movido dentro de uma sequência em qualquer ordem.
msgid "String '%(str)s' has %(char)s characters\n"
Traduzida:
msgstr "%(char)s Zeichen lang ist die Zeichenkette '%(str)s'\n"
Nenhuma alteração mais é necessária.