Es geht um Lokalisierung einer Oberfläche. Viele Strings beinhalten Format-Bezeichner wie "
Last updated %d minutes ago".
Die entsprechenden Übersetzer haben oft unsinnige Leerzeichen eingefügt sodass daraus "
Zuletzt aktualisiert vor % d Minuten" wurde. In einem C-Programm ist das kein Problem oder sogar gewünscht(
siehe Doku), deshalb fiel das bislang nicht auf:
Code:
std::printf("Das ist ein \"% s\"", "Test");
std::cout << std::endl;
std::printf("Die Zahlen sind \"% d\" und \"% d\"", 42, -99);
ergibt
Zitat:
Das ist ein "Test"
Die Zahlen sind " 42" und "-99"
Bei Delphi kommt mit
Delphi-Quellcode:
WriteLn( String.Format('Das ist ein "% s"', ['Test']));
WriteLn( String.Format('Die Zahlen sind "% d" und "% d"', [42, -99]));
leider ein völlig unsinniges
Zitat:
Das ist ein "
Die Zahlen sind "
heraus. Es wird keine
Exception geworfen.
Die Doku kennt Leerzeichen auch nicht.
Wie komme ich aus der Nummer am besten raus?