2011-08-29 3 views
2

팝업 메뉴를 열고 선택하여 런타임에 UI 언어를 전환해야한다는 요구 사항이 있습니다. 나는 코코아의 국제화에 대해 읽었지만 사용자가 시스템 설정을 변경해야하기 때문에 내 프로젝트에 적합하지 않다는 것을 알았다.앱 내부에서 런타임시 언어를 전환하는 방법은 무엇입니까?

"http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language"와 같은 게시물은 AppleLanguages 설정을 제안해도 앱 재시작이 필요합니다.

여러 NIB를 만들고 현재 언어에 따라 initWithNib을 호출 할 수 있는지, (b) NIB를 하나 사용하지만 plist 문자열을 만들고 모든 텍스트의 제목 문자열을 설정하는 함수를 만들 수 있는지 궁금합니다. 내 viewWillAppear 어떤 솔루션이 더 좋게 들리든지 제 3의 방법이 있다면 나에게 알려주십시오.

감사 레오

답변

0

나는 당신의 의견을 다시로드하고, 모든 텍스트 구성 요소의 text 속성을 업데이트 생각할 수있는 가장 간단한 방법 (등 UILabel, UITextField, 등). 당신의 방법으로 반환 할 수 있습니다 설정하는 언어 특정 텍스트, 뭔가 같은 -

-(NSString*) localizedStringForKey: (NSString*)key andLanguage: (NSString*)lang 
{ 
    if([lang isEqualToString:@"en"]) 
    { 
     if(key == @"hello") 
       return @"Hello"; 

     //and so on... 
    } 

    else if([lang isEqualToString:@"fr"]) 
    { 
     if(key == @"hello") 
       return @"Bonjour"; 

     //and so on... 
    } 

} 

HTH,

하기 Akshay

PS : 여기가 하드 코딩 된 값을 반환하지만 있어요 너의 것의 언어 특정한 plists에서 그 (것)들을 읽을 수있다.

관련 문제