2010-06-03 8 views
25

Mam szablon wiadomości e-mail, którą umieściłem w zlokalizowanym pliku ciągów, a ja ładuję ciąg z makrem NSLocalizedString.Łańcuchy wieloliniowe w pliku zlokalizowanych ciągów-c

Wolałbym, aby każdy wiersz nie był własnym ciągiem z unikalnym kluczem. W Objective-C, mogę stworzyć postaci czytelnej dla człowieka multilinii ciąg tak:

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

Starałem się umieścić, że w ciągu .strings złożyć:

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

Ale pojawia się następujący błąd w czas budowy:

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 

mogę łączyć to wszystko razem tak:

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

To będzie bałagan, który trzeba będzie utrzymać, zwłaszcza, że ​​e-mail jest dłuższy.

Czy istnieje sposób na wykonanie tego w zlokalizowanym pliku tekstowym? Próbowałem już dodawać ukośniki odwrotne na końcu każdej linii, bezskutecznie.

Odpowiedz

44

Wystarczy użyć nowych linii bezpośrednio.

"email" = "Hello %@, 

Check out %@. 

Sincerely, 

%@"; 
+0

To się udało. Dzięki! –

+1

'\ n' pracował dla mnie! – byJeevan

+4

Ale wtedy kolory edytora tekstu nie będą wyświetlane prawidłowo (ciąg nie jest całkowicie w jednym kolorze) – Daniel