2010-06-03 9 views
25

Ich habe eine Vorlage für eine E-Mail, die ich in eine lokalisierte Zeichenfolgendatei geschrieben habe, und ich lade die Zeichenfolge mit dem Makro NSLocalizedString.Mehrzeilige Zeichenfolgen in objective-c lokalisierten Zeichenfolgendateien

Ich würde lieber nicht jede Zeile eine eigene Zeichenfolge mit einem eindeutigen Schlüssel machen. In Objective-C, kann ich wie so eine menschenlesbare mehrzeilige Zeichenfolge erstellen:

NSString *email = @"Hello %@,\n" 
    "\n" 
    "Check out %@.\n" 
    "\n" 
    "Sincerely,\n" 
    "\n" 
    "%@"; 

Ich habe versucht, dass in ein .strings zu setzen Datei mit:

"email" = "Hello %@,\n" 
    "\n" 
    "Check out %@.\n" 
    "\n" 
    "Sincerely,\n" 
    "\n" 
    "%@"; 

Aber ich bekomme die folgende Fehlermeldung an Bauzeit:

CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary. 
email-template.strings: Unexpected character " at line 1 
Command /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings failed with exit code 1 

ich kann sie alle zusammen wie folgt verketten:

"email" = "Hello %@,\n\nCheck out %@.\n\nSincerely,\n\n%@"; 

Aber das wird ein Chaos zu halten, insbesondere wenn die E-Mail länger wird.

Gibt es eine Möglichkeit, dies in einer lokalisierten Zeichenkettendatei zu tun? Ich habe bereits versucht, am Ende jeder Zeile Backslashes hinzuzufügen, ohne Erfolg.

Antwort

44

Verwenden Sie einfach die neuen Zeilen direkt.

"email" = "Hello %@, 

Check out %@. 

Sincerely, 

%@"; 
+0

Das hat es getan. Vielen Dank! –

+1

'\ n' arbeitete für mich! – byJeevan

+4

Aber dann werden die Farben des Texteditors nicht korrekt angezeigt (die Zeichenfolge ist nicht vollständig in einer Farbe) – Daniel