2016-11-15 7 views
0

런타임에 설정된 인수가 포함 된 시계 복잡화 현지화 텍스트에 표시하려고합니다 (예 : "사용 가능 : 3", 런타임시 "3"을 설정해야합니다. iOS에서
, 이것은 쉽게 다음 Localizable.strings 파일이 watchOS 3에서 항목인수를 사용하여 현지화 된 텍스트를 복잡하게 작성할 수 있습니까?

"TEST" = "Available: %i"; 

을 포함

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

: 하나는 같은 형식으로 실제 매개 변수를 지역화 된 서식 캐릭터 라인 및 세트를 정의 합병증을 업데이트하고 싶다면

오른쪽 합병증 유형이 제공된다면, 하나는 합병증 템플릿을 선택할 수 있고 일부는 텍스트를 설정할 수 있습니다. 다음을 사용하여 :

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

여기서 파일 ckcomplication.strings은. 엔트리

"TEST" = "Available" 

이 경우, 합병증에는 "사용 가능"이 표시됩니다.

질문은 실제 값을 어떻게 추가합니까? "3", 표시된 텍스트?

답변

0

하나는 바로 아이폰 OS에서처럼 작업을 수행 할 수 있습니다

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이 존재하는 이유를 상상할 수 없습니다.