2016-11-15 2 views
0

Я хочу отобразить в локализованном тексте, посвященном сбору часов, который содержит аргумент, установленный во время выполнения, например. «Доступно: 3», где «3» должно быть установлено во время выполнения.
КСН, это легко: один определяет локализованную строку формата и врезки в этот формат фактический параметр, как:Возможно ли иметь в усложнении локализованный текст с аргументами?

let str = String.init(format: NSLocalizedString("TEST", comment:"Test"), 3) 

где файл Localizable.strings содержит запись

"TEST" = "Available: %i"; 

В watchOS 3 , если один хочет, чтобы обновить сложность, можно использовать

func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) 

Там, если обеспечивается правильный тип осложнением, можно выбрать шаблон осложнений и установить некоторый текст, например. используя:

let modularLargeTemplate = CLKComplicationTemplateModularLargeStandardBody() 
modularLargeTemplate.headerImageProvider = CLKImageProvider.init(onePieceImage: UIImage(named: "Complication/Modular")!) 
modularLargeTemplate.headerTextProvider = CLKSimpleTextProvider.localizableTextProvider(withStringsFileTextKey: „TEST“) 

где файл ckcomplication.strings содержит, например, запись

"TEST" = "Available" 

В этом случае усложнение отобразит «Доступно».

Вопрос в том, как добавить фактическое значение, например. «3», на отображаемый текст?

ответ

0

Можно сделать это так же, как в прошивкой:

let str = String.init(format: NSLocalizedString("TEST", comment:" "), 3) 
modularLargeTemplate.body1TextProvider = CLKSimpleTextProvider(text: str, shortText: str) 

где файл Localizable.strings содержит запись

"TEST" = "Available: %i"; 

Это работает, если Localizable.strings является объектом приложения IOS и расширение часов ,
Однако, я не знаю, как сделать то же самое с CLKSimpleTextProvider.localizableTextProvider(withStringsFileTextKey: „TEST“).
На самом деле, я не могу себе представить, почему существует localizableTextProvider, если он не может использоваться вместе с аргументами времени выполнения (по-видимому) и не дает никаких преимуществ (по-видимому) по сравнению с решением выше.

Смежные вопросы