objective-c本地化字符串文件中的多行字符串

Chr*_*lay 30 iphone localization objective-c nslocalizedstring

我有一个电子邮件的模板,我已经放入一个本地化的字符串文件,我正在加载NSLocalizedString宏的字符串.

我宁愿不使用唯一键使每一行成为自己的字符串.在Objective-C中,我可以创建一个人类可读的多行字符串,如下所示:

NSString *email = @"Hello %@,\n"
    "\n"
    "Check out %@.\n"
    "\n"
    "Sincerely,\n"
    "\n"
    "%@";
Run Code Online (Sandbox Code Playgroud)

我试着把它放在.strings文件中:

"email" = "Hello %@,\n"
    "\n"
    "Check out %@.\n"
    "\n"
    "Sincerely,\n"
    "\n"
    "%@";
Run Code Online (Sandbox Code Playgroud)

但是我在构建时遇到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

我可以像这样将它连接在一起:

"email" = "Hello %@,\n\nCheck out %@.\n\nSincerely,\n\n%@";
Run Code Online (Sandbox Code Playgroud)

但这将是一个混乱的维护,特别是随着电子邮件变得更长.

有没有办法在本地化的字符串文件中执行此操作?我已经尝试在每一行的末尾添加反斜杠,但无济于事.

ken*_*ytm 53

只需直接使用新行.

"email" = "Hello %@,

Check out %@.

Sincerely,

%@";
Run Code Online (Sandbox Code Playgroud)

  • 但是,文本编辑器的颜色将无法正确显示(字符串不完全是一种颜色) (7认同)