내 응용 프로그램에서 사용자가 언어를 선택할 수 있으므로 그에 따라 응용 프로그램이 언어를 변경하지만 작동하지 않습니다. 이 코드는 온라인에서 찾았습니다.iPhone - 사용자 정의 언어 설정
// Force languages
NSString * lang=[[NSUserDefaults standardUserDefaults] stringForKey:@"idioma"];
NSLog(@"language %@",[[NSUserDefaults standardUserDefaults] stringForKey:@"AppleLanguages"]);
if ([lang isEqualToString:@"castella"]) {
[[NSUserDefaults standardUserDefaults]
setObject:[NSArray arrayWithObject:@"es"]
forKey:@"AppleLanguages"];
} //else just default user lang
이 코드는 작동하지 않습니다. 나는 다른 환경 설정을 설정하고 있다고 생각합니다. 정말 로케일을 수정하고 싶습니다. 로컬 화 된 일부 문자열과 NIB 파일 중 일부가 있으므로 처음 위치에 선호하는 로케일 목록에 스페인어를 추가하고 싶습니다. 그러나 실제로 그렇게하는 방법을 이해하지 못합니다.
응용 프로그램의 설정에서 언어를 선택할 수있는 옵션이 있습니다. 그것은 저의 완강함에서 나온 것이 아닙니다. 여기 지역의 laguages가 중요하고 때로는 iPhone이 지원을 제공하지 않지만 번역을 발음합니다. 내가 로케일 덤비는 포기하기로 결정 답변에서
하지만 다른 NIB 파일을 보여줄 수있을 것이다 (en.proj에서 또는 es.proj)? 이미 첫 번째 부분이 있습니다.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
NSString * lang=[[NSUserDefaults standardUserDefaults] stringForKey:@"idioma"];
if ([lang isEqualToString:@"castella"]) {
//Load NIB filer from "es.proj".
}
}
return self;
}
그게 가능합니까?
thnks, 나는 그것을하고 싶지 않아하지만 난 어떻게 보여줄 수를 es.proj의 nib 또는 en.proj의 nib가 일부 사용자 기본 설정을 나타냄 – vallllll
iOS는 사용자 설정에 따라 자동으로 최상의 선택을 보여줍니다. 즉, 사용자가 "es"언어를 선택하면 앱에 NIB 파일의 "es"버전이 표시됩니다. – Beppe
나는 es에 대해 알고 있지만 그것은 단지 예일 뿐이다. 몇몇 희귀 한 언어들에 대해서는 그것을 둘러 볼 방법이 없다. – vallllll