Я работаю над приложением с поддержкой нескольких языков. Как вы и ожидали, время от времени я загружаю некоторые файлы nib с помощью следующего кода:
self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:nil];
Затем приложение загрузит соответствующую локализованную версию xib из своей папки languange. Теперь мне интересно, можно ли вручную загрузить локализованный файл nib. Например, вместо простой загрузки CustomController, загрузки версии CustomController на английском/французском/немецком/и т.д.
Есть ли способ, которым я могу это достичь?
Спасибо за вашу помощь заранее!
P.S. Я знаю, что это не может быть правильный способ изменить языки в приложении iphone/ipad, но это не мое решение.
[позже] Это выглядит немного странно и похоже на хак, но, похоже, он работает (загружая немецкий сундук):
NSString* path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:languageBundle];
Я нашел здесь совет: http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html
Это не совсем правильно, хотя мне интересно, есть ли и другие решения. Для начала у меня такое чувство, что это вызовет проблемы со старыми версиями iOs, поскольку языковая папка имела другое соглашение об именах