2014-04-13 6 views
0

버튼을 클릭 할 때 언어를 전환하려면 현지화를 사용해야합니다.NSLocalizedString 대 앱에서 전환 언어

나는 이것을 시도했지만, 요소가 새로 고침되지 않습니다.

- 그들은는 다음과 같이 설정됩니다

self.lblSectionMyPictures.text=NSLocalizedString(@"lblSectionMyPictures", nil); 

코드 전환 :

- (void)SwitchToFrench{ 
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"fr", nil] 
               forKey:@"AppleLanguages"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
    [self.view setNeedsDisplay]; 
} 

- (void)SwitchToEnglish{ 
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil] 
               forKey:@"AppleLanguages"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
    [self.view setNeedsDisplay]; 
} 

어떤 생각 \ 모범 사례?

답변

1

현지화를위한 Apple의 솔루션은 현지화 전환을 지원하지 않습니다. 문자열은 한 번로드되고 결코 변경되지 않습니다.

즉석에서 스위칭 언어를 추구하는 데 어려움이 없다면 (자신의 경험에 비추어 볼 수없는 이상적인 일종), 자신의 KVO 호환 로컬라이제이션 문자열 공급자를 만들고 모든 GUI 요소를 바인딩하는 것이 가장 좋습니다. 제목, 텍스트 필드의 값 등)을 입력하십시오. AutoLayout이 활성화되어 있으면 작동 할 수도 있습니다.