title: Change app language in iOS without restarting the app
body: <p>I have seems some apps can change the language internally within the app without the need of restarting the app, I am wondering how they are implemented.</p>
  
  <p>For example, for us using <code>NSLocalizedString</code>, I know it is possible to set the language at runtime at <code>main.m</code> when your <code>AppDelegate</code> is not initialized, but once it is initialized (particularly your view controller is created), change it has not effect until the next <strong>restart</strong></p>
  
  <pre><code>[[NSUserDefaults standardUserDefaults] 
      setObject:[NSMutableArray arrayWithObjects:language, nil] 
      forKey:@"AppleLanguages"];
  </code></pre>
  
  <p>Anyone have idea how those dynamic language change can be done without restarting the app?</p>