是否有可能在复杂的本地化文本中包含参数?

Is it possible to have in a complication localized text with arguments?

我想在手表复杂功能中显示包含运行时设置的参数的本地化文本,例如„可用:3“,其中“3”应在运行时设置。
在 iOS 上,这很简单:定义一个本地化的格式字符串并将实际参数插入到该格式中,例如:

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“,到显示的文字?

可以像 iOS 中那样做:

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

其中 Localizable.strings 文件包含一个条目

"TEST" = "Available: %i";  

如果 Localizable.strings 是 iOS 应用程序和 watch 扩展程序的目标,则此方法有效。
但是,我不知道如何用 CLKSimpleTextProvider.localizableTextProvider(withStringsFileTextKey: „TEST“).
做同样的事情 实际上,我无法想象为什么 localizableTextProvider 根本不存在,如果它不能与 运行 时间参数一起使用(显然),并且与上述解决方案相比没有提供任何优势(显然)。