6

현재 지원 언어는 영어와 스페인어의 두 가지입니다. 따라서 각 언어에 대해 두 개의 main.strings 파일이 있습니다. 하나는 en.lproj이고 하나는 es.lproj입니다.iPhone : 현지화/국제화 기본 문자열 파일

지금 내가 원하는 것은 또는이외의 로케일을 가진 사용자가 응용 프로그램에 도착하는 경우 영어 main.strings이 기본 파일이라는 것입니다. de 또는 fr ,

NSLocalizedStringWithDefaultValue(key, @"main",[NSBundle mainBundle], defaultString, comment); 

그러나 나는 거기에 다시 입력하지 선호하는 (그리고이 개 장소를 변경해야 할) 것 :

나는 내가 defaultString 매개 변수를 사용하여 코드에서 각각의 문자열을 수동으로 설정할 수 있습니다 알고 다른 "지원되지 않는"로켈의 경우 기본값으로 enmain.strings 파일을 사용하십시오.

답변

11

내가 지금 원하는 것은 EN 또는 ES 이외의 로케일을 사용해 사용자가 응용 프로그램에 도착하면 영어 main.strings 기본 파일, 예를 때문이다 de 또는 fr.

시도해 보셨습니까? 거의 아무것도하지 않고도 응용 프로그램이 영어 로켈로 되돌아 갈 것입니다. 응용 프로그램이 현재 로켈을 명시 적으로 지원하지 않는 한 시스템 대화 상자조차도 영어로 표시됩니다. 이 긴 구문을 피하려면

+1

아아 게시했다. 너는 완전히 옳다. 철저히 시험하지 않은 나 바보. 완전히 다른 언어를 사용하는 대신 테스트 용으로 "es"를 사용했습니다. 이미 빈 문자열 파일을 만들었습니다. – znq

+6

폴백은 기본 영어가 아닌 [NSLocale preferredLanguages] 시퀀스에 따라 다릅니다. 예를 들어 중국어에서 독일어로 전환하면 첫 번째 언어는 deutsch이고 두 번째 언어는 중국어이므로 응용 프로그램이 중국어를 지원하면 영어 대신 중국어가 표시됩니다 – chings228

+0

위의 코드는 허용 된 대답이어야합니다 –