2010-06-03 80 views
25

我有一個用於放入本地化字符串文件的電子郵件的模板,並且我正在使用NSLocalizedString宏加載該字符串。Objective-c本地化字符串文件中的多行字符串

我寧願不使每行都有一個唯一的密鑰自己的字符串。在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%@"; 

但是,這將是一個混亂的維護,特別是隨着電子郵件變得更長。

有沒有辦法在本地化的字符串文件中做到這一點?我已經嘗試在每行的末尾添加反斜槓,但無濟於事。

回答

44

只需直接使用新行。

"email" = "Hello %@, 

Check out %@. 

Sincerely, 

%@"; 
+0

這樣做。謝謝! – 2010-06-03 19:14:04

+1

'\ n'爲我工作! – byJeevan 2014-07-17 13:25:06

+4

但是,然後,文本編輯器的顏色將無法正確顯示(字符串不完全在一種顏色) – Daniel 2015-11-09 16:39:38