【问题标题】:Multi-line strings in objective-c localized strings fileObjective-C 本地化字符串文件中的多行字符串
【发布时间】:2011-02-27 11:02:03
【问题描述】:

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

我宁愿不要让每一行都有自己的字符串和唯一的键。在 Objective-C 中,我可以创建一个人类可读的多行字符串,如下所示:

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

我试图把它放在一个 .strings 文件中:

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

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

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

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

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

但这将是一团糟,尤其是当电子邮件变得更长时。

有没有办法在本地化的字符串文件中做到这一点?我已经尝试在每行末尾添加反斜杠,但无济于事。

【问题讨论】:

    标签: objective-c iphone localization nslocalizedstring


    【解决方案1】:

    直接使用新行即可。

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

    【讨论】:

    • 但是,文本编辑器的颜色将无法正确显示(字符串不完全是一种颜色)
    • 这些天字符串似乎完全是一种颜色:)
    猜你喜欢
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    相关资源
    最近更新 更多