Preferred languages may be used in HTTP headers, to detect system language or to implement custom internationalization SDK.
People expect those conventions to be followed and may be seriously confused or even seduced if not.
I assume reader is already familiar with basic internationalization facilities and approaches used in i OS apps development.
The distinctions and details I cover in this article were a bit confusing for me when I first started introducing internationalization in my apps, so I decided to wrap it up for myself and any curious developer.
Apple uses Common Locale Data Repository (CLDR) for that data, you can access that information via NSLocale API. First item in that list is usually a system language, language in which operation system elements and Apple apps are displayed.
But this may not be the case if, for example, user sets device language to one of those which Apple did not provide localization for. If you at first set system language to English, then add Afrikaans and reorder preferred languages so that Afrikaans goes first, you’ll get this sequence: Apple does not currently provide Afrikaans translation for i OS or any of the system apps (like Calendar or Notes etc.), while you can.
If you talk to Jane’s sister, she’ll tell you about Jane’s priorities in general, that’s NSLocale.