2013-05-01 2 views
3

나는 오해를 NSLocalizedString.NSLocalizedString은 실제로 작동합니까?

나는 프랑스어와 영어 .strings 파일을 가지고 있습니다. 프로젝트 타겟에서 - 현지화 나는 프랑스어와 영어로 6 개의 파일을 가지고 있습니다. 내가 레이블 텍스트를 변경하는 코드의 간단한 라인을 쓸 때

"hello" = "salut"; 

는 :

"hello" = "world"; 

파일 french.strings에서 :

파일 english.strings에서

exerciseDescription.text = NSLocalizedString(@"hello", @"no comment"); 

출력은 다음과 같습니다 hello

0 내가 아이폰 OS 시뮬레이터에서 변경 : 설정 - 일반 - 국제 - 언어 -/프랑스어 영어 -

그리고 출력을 완료 다시이다 : 나는 world 또는 salut해야한다 생각 hello

...

답변

11

올바른 방법으로 사용하고 있지만 올바르게 추가되지 않았습니다.

현지화 된 파일 이름은 항상 Localizable.strings이어야하며 해당 파일은 특정 언어 폴더에 있습니다 (예 :). 0은 프랑스어로 fr.lproj은 현명한 것입니다.

+0

현지화 된 파일 이름은 기본 'Localizable.strings'단위이지만, 'NSLocalizedStringFromTable'을 사용하여 지정할 수 있습니다. 하나의 프로젝트에서 여러 .strings 파일을 사용하는 것이 특정 크기 이상으로 커지면 유용 할 수 있습니다. – GorillaPatch

2

당신이 사용하고 있지만, @Hemang이 언급했듯이 파일 이름을 Localizable.strings으로 바꾸어야합니다. 기본값입니다.

나는 또한 빌드 폴더를 청소하고 시뮬레이터에서 응용 프로그램을 제거하는 것이 좋습니다. 그것은 한 경우에 나를 도왔습니다.

+0

당신 말이 맞아요. 나는 완전한 청소와 제거가 필요했다. 그것은 지금 아주 잘 작동합니다. Hemang 및 GorillaPatch 큰 시간을 내게 도와 주셔서 감사합니다 :) –

관련 문제