4

I've put my app settings into iPhone Settings panel. I want to switch between languages independently of the iPhone system language. Is it possible? I'm using this advice: How to force NSLocalizedString to use a specific language

But it translates only string inside app, but my nib files are same. How to reload my nibs?

Community
  • 1
  • 1
Timur Mustafaev
  • 4,869
  • 9
  • 63
  • 109

1 Answers1

20

The key is to override the NSUserDefaults language key before UIApplicationMain() is called in your main() function in main.m. Try something like this in your main() function:

// use whatever language/locale id you want to override
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de_DE", nil]
                                          forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
int retVal = UIApplicationMain(argc, argv, nil, nil);
Mike Weller
  • 45,401
  • 15
  • 131
  • 151