2012-04-30 11 views
6

Ich versuche, meine Anwendung zu übersetzen, und ich finde es schwierig zu übersetzen, wenn es einen halben Platzhalter gibt. Ich brauche den folgenden Code zu finden:Platzhalter und NSLocalizedString

[textView1 insertText:[NSString stringWithFormat:@"%@ è il %i/%i/%i. Il giorno delle settimana è %@. La Festa è compresa nel calcolo. \n", nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]]; 

Ich habe in der Datei localizable.string (English):

"festaCompresa" = @"%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n"; 

Dann bearbeiten ich das Stück Code:

[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaW, @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]]; 

Es funktioniert nicht.

+0

hilft Wie genau funktioniert es nicht? – hamstergene

+0

Die Bildschirmanzeige ist nicht korrekt, weil das Wort vergleichen: festaCompresaW – Andrea

+0

Auch gibt es Fehler in der Datei. string: Überprüfung fehlgeschlagen: Die Daten konnten nicht gelesen werden, da sie beschädigt wurden. – Andrea

Antwort

4

Haben Sie den Code kopiert? Oder hast du es neu eingegeben? Denn wenn Sie es das Problem-Kopie geklebt ist da:

[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaW, @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]]; 

Ich nehme an sollte es

[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]]; 

Also im Grunde eine " statt W sein.

Auch in Localizable.strings Sie setzen nicht @ vor den Anführungszeichen, so folgt aus:

"festaCompresa" = @"%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n"; 

sollte dies:

"festaCompresa" = "%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n"; 

Hoffe, dass es

6

Ihre Zeichenketten-Datei ist ein leichter Fehler, haben Sie eine @, als ob die Zeichenfolge als NSString Konstante enthalten - das Dateiformat-Strings in Anführungszeichen verwendet:

"festaCompresa" = "%@ is the %i/%i/%i. the day of the week is %@. The holidays is included in the calculation. \n"; 

BTW: wenn Formatstrings für die Lokalisierung der Erstellung Möglicherweise müssen Sie positionelle Formate verwenden, in denen jede Formatspezifikation die Nummer des Arguments enthält. Zum Beispiel:

Dies ist offensichtlich nicht in der obigen Zeichenfolge erforderlich, da die Argumente in der Reihenfolge, in der sie zur Verfügung gestellt werden, enthalten sind. In manchen Sprachen müssen sie jedoch in einer anderen Reihenfolge sein und so wird es gemacht.

Verwandte Themen