Cargar manualmente una punta localizada diferente en iOs

Estoy trabajando en una aplicación con soporte en varios idiomas. Como es de esperar, de vez en cuando cargo algunos archivos de punta usando un código como este:

self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:nil]; 

La aplicación cargará la correspondiente versión xib localizada desde su carpeta languange. Ahora, me pregunto si es posible cargar el archivo de punta localizada manualmente. Por ejemplo, en lugar de simplemente cargar CustomController, cargar la versión en inglés / francés / alemán / etc. del CustomController.

¿Hay alguna manera de lograr esto?

¡De forma anticipada, muchas gracias por su ayuda!

PD Sé que esta puede no ser la forma correcta de cambiar idiomas en una aplicación de iPhone / ipad, pero esta no es mi decisión

[edit posterior] Esto se ve un poco raro y como un truco, pero parece funcionar (cargar el plumín alemán):

 NSString* path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"]; NSBundle* languageBundle = [NSBundle bundleWithPath:path]; self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:languageBundle]; 

Encontré el consejo aquí: http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html

Aunque no se siente completamente bien, me pregunto si también hay otras soluciones. Para empezar, tengo la sensación de que esto causará problemas con las versiones anteriores de iOs, ya que la carpeta de idioma tenía una convención de nomenclatura diferente

Entonces, tal como dije en la edición, esto es lo que encontré como una solución:

 NSString* path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"]; NSBundle* languageBundle = [NSBundle bundleWithPath:path]; self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:languageBundle]; 

Y si necesita cargar un texto en una etiqueta localizada

 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]; 

Más información aquí: http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html

A quien corresponda, este método plantea bastantes problemas. Para empezar, algo que podría afectar a todos: es necesario que todos los recursos utilizados por un xib localizado también estén localizados. Si cargo un nuevo xib localizado usando este método, y ese xib contiene una imagen regular no localizada, no se mostrará hasta que esté localizado. Los otros problemas son más particulares y están relacionados con la forma de recuperar los datos localizados.

Al final, no creo que vaya a usar esto, porque para la aplicación actual es demasiado problemático, pero podría ser útil en el futuro.