Try this tutorial it goes through the whole configurations and files you need to create. You will not have to change the 10 ViewControllers language from home ViewController, all you need is to set the user chosen language in the NSUserDefault values and check it later in your ViewControllers if you have to do a specific action based on the language.
This sets the language to Arabic
NSUserDefaults*userDefaults=[NSUserDefaults standardUserDefaults];
[userDefaults setObject:[NSArray arrayWithObjects:@"ar", @"en", nil];
and this for English
[userDefaults setObject:[NSArray arrayWithObjects:@"en", @"ar", nil];
Then later in your ViewControllers you can check using this
- (NSString*) getLanguage{
NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
NSString *preferredLang = [languages objectAtIndex:0];
return preferredLang;
}
The storyboard and NSLocalizedString know which language it should load from their prospective string files automatically using the value you sit for the AppleLanguages key.