Ich lokalisiere meine iPad / iPhone-App mit genstrings Classes/*.m
, um die Localizable.strings
-Datei zu generieren. Die meisten Strings funktionieren gut und ich bekomme die erwartete Ausgabe, aber mit einigen Strings fügt genstrings
1$
oder 1$
in der Mitte meiner Formatbezeichner wie folgt hinzu:
Ich hatte dieses Problem nicht mit anderen Apps, und wie Sie sehen, ist es nicht konsistent. Es scheint aber auch nicht zufällig zu sein, denn wenn ich genstrings
für die gleichen Klassendateien wieder aktiviere, sind die 1$
usw. immer an der gleichen Stelle.
Ich kann sie belassen und die Strings funktionieren mit der korrekten Formatierung, aber ich habe sie manuell entfernt, weil ich nicht sicher bin, was% code% tun wird. Es ist nervig, die Strings manuell durchlaufen zu müssen (und ich werde wahrscheinlich irgendwann einen verpassen).
Ich denke, es könnte ein Problem mit der Textcodierung sein? Oder kann ich sie sicher in meinen Strings belassen und sie einfach ignorieren?
Diese Zahlen beziehen sich auf die Argumentposition des Ersatzwerts. Zum Beispiel bedeutet %2$i
"Ersetzen Sie dies durch das zweite Argument, das eine ganze Zahl sein sollte." Dies ist nützlich beim Lokalisieren von Sprachen, die unterschiedliche Wortanordnungen verwenden, da Dinge in einer anderen Reihenfolge als Englisch ersetzt werden können.
Mit anderen Worten, sie sind sicher zu verlassen oder zu entfernen, und sie werden nützlich sein für natürlich klingende Übersetzungen in andere Sprachen.
N$
teilt den printf
-style Funktionen und Methoden die strikte Reihenfolge der Felder in der Formatzeichenfolge mit. Auf diese Weise müssen Sie bei der Lokalisierung in einer Sprache, in der die Reihenfolge anders ist, den Code nicht ändern - nur die Formatzeichenfolge:
Ausgabe:
%Vor%Tags und Links objective-c iphone cocoa ipad localization