2014-12-02 1 views
0

내 코드에서 나는 많은 현지화 된 문자열을 사용하며 짧은 문자열을 제외하고 모두 훌륭하게 작동합니다. 제 생각에는NSLocalizedString : 짧은 문자열 - 부분 문자열과의 혼동

"%@ at %@" = "<translation>" 
"attending %@" = "<translation>" 

는, 컴파일러는 시도는 .. 올바른 문자열을받을 때 어떻게이를 달성 할 수 실패

예 파일 에서

NSString* text = [NSString stringWithFormat:NSLocalizedString(@"%@ at %@", nil), dateStart, timeStart]; 

내가 가진을 localizable.string?

+0

먼저 무엇을 잘못입니까? 둘째, localizable.string이라는 파일입니까? 나에게 맞는 것 같지 않아. – Andy

답변

-1

오른쪽은 사본의 키입니다.
런타임시 문자열이 locale.strings의 문자열로 교환되기 때문에 자리 표시자를 가져야하는 키가 아닙니다. 즉
: 현지화 후 당신이 원하는 것을 달성하기 위해 %@

누락, 당신은 번역 된 문자열에있을 자리가 필요합니다 모든

"SOME_KEY" = "%@ <localized> %@" 
+2

열쇠로 원하는 것을 사용할 수 있습니다. – Andy

+0

맞습니다. 지적 해 주셔서 고맙습니다. 그러나 문제는 % @가 지역화로 대체된다는 것입니다. – dogsgod