It was established in a previous question Localizing system generated privacy alert message iOS UIAlertView Xcode that the permission alert "The AppName would like to access your photos" is shown and localized by the system and not by the app. So when changing International > Language settings, this alert is seen by the user in their preferred device language.
However, localization doesn't apply to other aspects of the app for other system generated information. For example, in testing an app on a device with International > Language settings set to French:
(Image below left to right.)
- Displaying an action sheet = system generated message displayed in English
- Selecting "assign to contact" the contacts permission alert = system generated message displayed in French
- Trying to access contacts when privacy is off, error message = system generated message displayed in English
Even though French is set as the system language, the app still displays English, or more correctly a combination of English and French. This isn't a consistent user experience.
Questions:
1 - What is going on, why is this inconsistency occurring?
2 - How can this inconsistency be corrected so that all system messages displayed are in the language specified by the system settings?
3 - Does this have something to do with localizing the app storyboard and if so, how can that be achieved for all languages possible that the user may be using on their device?