2011-01-27 1 views
0

를 반환하는 내 코드입니다 :항상 여기에 영어

NSString *string = [bundle localizedStringForKey:@"kTCStringMissing" value:@"" table:nil]; 

내가 영어 값이 제대로 나오고 있기 때문에 번들 변수가 올바른 번들을 가리키는 것을 알고있다 - 아래를 참조하십시오.

내 번들 구조는 다음과 같습니다

ToyCalculatorUI.bundle 
    en.lproj [directory] 
    Localizable.strings [file] 
    de.lproj [directory] 
    Localizable.strings [file] 

내 Localizable.strings

은 다음과 같이 다음 en.lproj 디렉토리에

:

kTCStringMissing = "누락 된 필드 엉"; de.lproj 디렉토리에

:

kTCStringMissing = "누락 된 필드 드";

그러나 언어를 Deutsch로 설정하고 언어를 Deutschland로 설정 한 후 시뮬레이터에서 앱을 실행하면 위의 * 문자열 객체는 항상 "Missing Fields en"값을 갖습니다.

무엇이 누락 되었습니까?

답변

0

imho도 키를 인용해야합니다. (자세한 내용은 Apple's Resource Programming Guide 참조)

즉 "kTCStringMissing"= "누락 필드 en";

+1

키는 따옴표로 묶어야하지만, Apple에서 제공하는 명령 줄'genstrings -o English.lproj/* .m'을 사용하면 더 적은 문제가 발생할 것입니다. 링크 된 문서에서 도구에 대해 설명합니다. – bdunagan