Multi-line strings in objective-c localized strings file

巧了我就是萌 提交于 2019-12-09 14:00:34

问题


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.


回答1:


Just use the new lines directly.

"email" = "Hello %@,

Check out %@.

Sincerely,

%@";


来源:https://stackoverflow.com/questions/2968650/multi-line-strings-in-objective-c-localized-strings-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!