I have a template for an email that I've put in a localized strings file, and I'm loading the string with the NSLocalizedString
macro.
I'd rather not make each line its own string with a unique key. In Objective-C, I can create a human-readable multiline string like so:
NSString *email = @"Hello %@,\n"
"\n"
"Check out %@.\n"
"\n"
"Sincerely,\n"
"\n"
"%@";
I tried to put that in a .strings file with:
"email" = "Hello %@,\n"
"\n"
"Check out %@.\n"
"\n"
"Sincerely,\n"
"\n"
"%@";
But I get the following error at build time:
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
I can concatenate it all together like this:
"email" = "Hello %@,\n\nCheck out %@.\n\nSincerely,\n\n%@";
But that will be a mess to maintain, particularly as the email gets longer.
Is there a way to do this in a localized strings file? I've already tried adding backslashes at the end of each line, to no avail.
Just use the new lines directly.
"email" = "Hello %@,
Check out %@.
Sincerely,
%@";