2014-10-31 2 views
6

변수와 함께 NSLocalizedString을 사용하는 방법을 알아 내려고하고 있습니다.변수가있는 NSLocalizedString Swift

예를 들어, "Peter and Larry"가 내 Localizable.strings 파일에 출력하려면 다음과 같이해야합니까?

"account.by_user" = "by %@ and %@"; 

어떻게이 개 변수가있는 경우와 NSLocalizedString("account.by_user", comment: "")name1name2name1 = 베드로와 name2 = 래리를 부를 것이다?

답변

10

그래, 당신은 "account.by_user" = "by %@ and %@";을 가지고이 소요됩니다 :

let myString = String(format: NSLocalizedString("account.by_user", comment: "any comment"), "Peter","Larry") 
7

이것은 또 다른 방법이며 어떻게 해.

let myString = String.localizedStringWithFormat(NSLocalizedString("by %@ and %@", comment: "yourComment"), name1, name2) 

기본적으로, 형식과 지역화 된 문자열의 주요 개념은 다음과 같이이다 : 그것은 나에게 Localizable.strings 파일 형식을 파악하는 데 시간이 걸렸다으로 아래의 작은 샘플을 추가

let math = "Math" 
let science = "Science" 
String.localizedStringWithFormat(NSLocalizedString("I love %@ and %@", comment: "loved Subjects"), math, science) 
+0

'% @와 % @는 (는) 문자열의 키이므로 왜 거기에'% @ '를 넣어야합니까? – user25

+0

'% @ '은 (* 상수 수학 및 과학) 값에 대한 자리 표시 자입니다 번역되었지만 후에 사용되므로 'String.localizedStringWithFormat'을 사용합니다. –

+0

https://stackoverflow.com/a/28067154/4548520 더 정확하게 보이기 – user25

3

.

let myVar: String = "My Var" 

String(format: NSLocalizedString("translated_key %@", 
     comment: "Comment"), myVar) 

Localizable.strings 파일에서 : 우측

물론
"translated_key %@" = "My var is: %@"; 

상기 %@ 코드에서

현지화 문자열 변수를 추가

예 교체 가능 :

"translated_key %@" = "My var is: %@"; 
"translated_key %@" = "%@ is my var"; 
"translated_key %@" = "I use %@ as my var"; 

또한 %@은 int의 경우 %d으로, float의 경우 %f으로 바꿀 수 있습니다.

관련 문제