Ответ 1
Итак, как я уже сказал в редакции, это то, что я нашел в качестве решения:
NSString* path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:languageBundle];
И если вам нужно загрузить текст в локализованную метку
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];
Дополнительная информация здесь: http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html
К кому это может относиться, этот метод вызывает целый ряд проблем. Для начала, что-то, что может повлиять на всех: вам нужно, чтобы каждый ресурс, используемый локализованным xib, также локализован. Если я загружаю новый локализованный xib с помощью этого метода и что xib содержит регулярное нелокализованное изображение, оно не будет отображаться до его локализации. Другие проблемы более конкретны и связаны с тем, как вы извлекаете локализованные данные.
В конце концов, я не думаю, что буду использовать это, потому что для текущего приложения это слишком проблематично, но в будущем это может оказаться полезным.