2012-06-30 151 views
0

我需要在controller.body如何使用格式化佔位符本地化字符串?

我的代碼翻譯文本:

controller.body = [NSString stringWithFormat:@"\n\n" 
                "Label 1: %@ \n" 
                "Label 2: %@ \n" 
                "Label 3: %@ \n" 
                "Label 4: %@", label1.text, label2.text, label3.text, label4.text]; 

我有文件Localizable.strings,我怎麼可以本地化帶格式的佔位符的字符串?我的意思是文本 「標記1」, 「標記2」 等等

+0

在這裏你可以找到一個關於本地化的教程:http://www.delitestudio.com/2012/09/11/how-to-internationalize-an-os-x-ios-app/ – DreamOfMirrors

回答

0

您將需要使用NSLocalizedString

localizable.string看起來就像

"Label 1: %@ \n" = "your label"; 
"Label 2: %@ \n" = "your label"; 
//And so on... 

而且你的代碼

controller.body = [NSString stringWithFormat:@"\n\n", 
              NSLocalizedString(@"Label 1: %@ \n", nil), 
              NSLocalizedString(@"Label 2: %@ \n", nil), 
              etc....]; 
+0

解析問題:期望的' ]' –

+0

哪裏?你面臨的問題是什麼? –

+0

here:NSLocalizedString(「Label 1:%@ \ n」,nil), –

0

東西本地化字符串

controller.body = [NSString stringWithFormat:NSLocalizedString(@"Label 1: %@ ," , @"Label 2: %@ ,", @"Label 3: %@ ," , @"Label 4: %@ ,"), label1.text,label2.text,label3.text,label4.text] 
0

模式:

NSString* stringFormat = NSLocalizedString (@"LabelStringFormat", ...); 
NSString* labelText = [NSString stringWithFormat:stringFormat, label1.text, ...]; 

,並在您localised.strings

"LabelStringFormat" = "Label 1: %@, ..."; 

你甚至可以重新排序通過使用正確的字符串格式不代碼項目。