우선, 레이블 텍스트를 설정할 때 NSLocalizedString
을 단순히 사용할 수없는 이유를 이해하지 못합니다. 원하는 언어로 기기의 언어에 따라 적절한 버전의 텍스트를로드합니다.
어쨌든, 나는 당신이 유용한 것을 찾을 수 있다고 생각합니다. here.
나는 사실 6 개의 언어와 하나의 펜촉으로 비슷한 것을 만들었지 만, 내 경우에는 응용 프로그램 내에서 언어가 변경되었을 수 있으므로 강제로 내게 현지화 된 버전을로드하도록 말할 수 있어야했습니다. 특정 번들의 문자열.
여기만큼 문제가 더 내 간단한 NSLocalizedString처럼 경우에 당신을 도움이 될 것입니다 정확한 코드, 안 그래 :
NSString* path= [[NSBundle mainBundle] pathForResource:[[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0] ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
someLabel.text = [languageBundle localizedStringForKey:@"textKey" value:@"" table:nil];
당신은 아마 두 개 이상의 라벨이 것이기 때문에, 그것은 좋은 것입니다 아이디어를 클래스 속성으로 저장하고 viewDidLoad에서 설정하므로 해당 클래스의 모든 메소드/함수에서 액세스 할 수 있습니다.