В моем приложении пользователи могут выбрать язык, поэтому я хочу, чтобы мое приложение соответствующим образом меняло язык, но оно не работает. Я нашел этот код на сайте: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, поэтому я хотел бы добавить список испанских в список предпочтительных локалей на первой позиции, но я действительно не понимаю, как это сделать.
В настройках приложения у меня есть возможность выбрать язык. Это не просто из-за моей упрямства; просто здесь важны региональные языки, а иногда 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, если она может быть отклонена, то я не хочу, чтобы это сделать, но как я могу показать nib из es.proj или из en.proj, относящегося к некоторым настройкам по умолчанию пользователя – vallllll
iOS отображает лучший выбор автоматически, в соответствии с пользовательскими настройками. Это означает, что если ваш пользователь выбирает язык «es», ваше приложение показывает «es» версию ваших файлов NIB. – Beppe
Я знаю об es, но это просто пример, для некоторых редких языков это не так, есть ли способ обойти это? – vallllll