2012-06-30 3 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

здесь: NSLocalizedString ("Ярлык 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: %@, ..."; 

Вы даже можете изменить порядок элементов без кода, используя правильный формат строки.