Platzhalter

Eli Eibensteiner
01.10.2022

Bei der Übersetzung von Software wird man zwangsläufig immer wieder auf Platzhalter stoßen. Diese zu verstehen ist daher sehr wichtig.

Wie sehen sie aus?

Wie Platzhalter aussehen ist abhängig von der zugrundeliegenden Programmiersprache. In manchen Sprachen ist dies streng geregelt, in manchen frei wählbar. Allerdings kann man sie zumeist recht einfach erkennen.

In C bzw. C++ beginnen sie immer mit % ¬ die gängigsten Platzhalter sind %d (Zahlen), %s (Strings) und %f (Fließkommazahlen).

Im Allgemeinen beginnen Platzhalter mit Sonderzeichen neben % etwa mit @, $, § oder &. So wird sichergestellt, dass sie eindeutig erkannt werden können.

Muss die Reihenfolge beibehalten werden?

Oft ist es herausfordernd, die Reihenfolge der Platzhalter beizubehalten und dennoch dafür zu sorgen, dass die Übersetzung natürlich klingt. Insofern wäre es natürlich gut zu wissen, wann man die Reihenfolge beibehalten muss und wann nicht.

Generell kann man festhalten, dass die Platzhalter in C/++ fix sind. Funktionen in diesen beiden Sprachen sehen so aus:

printf("x = %d und y = %d", x, y);

Eine Ausgabefunktion mit der Ausgabe „x = %d und y = %d“. Danach werden die Variablen angeführt, die die Platzhalter ersetzen.

Wie man hier sieht, sind die beiden Platzhalter ident. Entsprechend nehme ich an, dass es einleuchtet, dass das Programm nicht anhand des Werts erkennen kann, was x und was y ist. Dies wird tatsächlich einzig durch die Reihenfolge bestimmt was auch immer noch gilt, wenn unterschiedliche Platzhalter verwendet werden. Die Sprache ist schlicht so aufgebaut, dass Platzhalter stur von vorn nach hinten ersetzt werden.

Ein gutes Indiz, dass die Reihenfolge von Platzhaltern geändert werden kann, ist es, wenn die Variablen eine Zahl beinhalten (z. B. @String1).

Wenn die Möglichkeit besteht (und die Reihenfolge aus bestimmten Gründen geändert werden muss/müsste), sollte natürlich Rücksprache mit den Auftraggeber·innen bzw. Entwickler·innen gehalten werden. So kann auch festgestellt werden, womit der Platzhalter tatsächlich ersetzt wird oder ob ein String etwa mit einem Leerschlag beginnt etc.