Hi everyone! I am working on app, and customers want it to be fully localized. We have several Localizable.strings and InfoPlist.strings files for each supported language.
There is an opportunity in the app to change app's language "on fly".
(This is done by associating another bundle with chosen language)to main bundle. So when app calls [NSBundle.mainBundle localizedStringForKey:value:table:], it actually refer to bundle with language user has selected.)
Here comes bad consequences. System permission alerts (requests for location usage, camera usage, etc.) are not localized with language selected within the app, but localized with preferred language from iOS Settings.
So, for example, if user has English as preferred language in Settings, but in our app he chose French, the whole app will be in French except system alerts, which will be in English.
Is there any way to fix it? I mean, to choose programmaticaly which language system alert must consider as preferred?
P.S. I know, this is not a good practice, but... you know... customer's desires.