B. C-Format Zeichen

Hier folgt eine kurze Liste und einige Erläuterungen zu C-Format Zeichen. Alle Formatierungszeichen werden durch ein „%“ eingeleitet und stellen einen Platzhalter für einen variablen Inhalt dar. Ein Beispiel aus Nautilus:

#: components/emblem/nautilus-emblem-view.c:834
#, c-format
msgid "The file '%s' does not appear to be a valid image."
msgstr ""

Zeichenketten, die solche Formatierungszeichen enthalten, sind wie im Beispiel mit einer „c-format“-Markierung versehen. Es gibt auch Formatierungen anderer Sprachen, wie z.B. „python-format“ (ähnlich wie C) oder „csharp-format“ (geschweifte Klammern), auf die hier aber nicht näher eingegangen wird.

Die gebräuchlichsten C-Formatierungszeichen

%s

Eine Zeichenkette.

%d, %i

Eine vorzeichenbehaftete Ganzzahl.

%o

Eine Oktalzahl.

%x, %X

Eine hexadezimale Zahl.

%u

Eine vorzeichenlose Ganzzahl.

%c

Ein einzelnes Zeichen.

%p

Ein Zeiger.

%f, %F

Eine Fließkommazahl im Dezimaldarstellung.

%e, %E, %g, %G

Eine Fließkommazahl in Exponentialdarstellung.

Sollten mehrere dieser Formatierungszeichen in einer Zeichenkette stehen, bedeuten Sie meist nicht dasselbe. Ein weiteres Beispiel aus Nautilus:

#: components/hardware/nautilus-hardware-view.c:483
#, c-format
msgid "Uptime is %d days, %d hours, %d minutes"
msgstr ""

Die Reihenfolge dieser Formatierungszeichen können Sie auch ändern, damit die Übersetzung einen Sinn ergibt oder besser formuliert ist. Es könnte zum Beispiel folgende Zeichenkette zu übersetzen sein:

#, c-format
msgid "String `%s' contains %d characters"

Eine deutsche Übersetzung mit umgekehrter Reihenfolge der Formatierungszeichen könnte so aussehen:

#, c-format
msgid "String `%s' contains %d characters"
msgstr "%2$d Zeichen sind in der Zeichenkette `%1$s' enthalten"

Wollen Sie in einer Zeichenkette mit „c-format“-Markierung des Zeichen „%“ verwenden, muss es zwei mal hintereinander stehen:

#, c-format
msgid "%d percent done."
msgstr "%d %% fertiggestellt."