如何使用格式化占位符本地化字符串?

时间:2012-06-30 18:55:21

标签: ios xcode localization stringwithformat

我需要在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”等......

3 个答案:

答案 0 :(得分: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....];

答案 1 :(得分:0)

用于本地化字符串的东西

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

答案 2 :(得分:0)

模式:

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

并在您的localised.strings中

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

您甚至可以使用正确的字符串格式重新排序没有代码的项目。