So, NSBundle is usually the one to ask for language.Say, there’s a girl Jane, who likes [ to get with her.You can inspect a locale by reading its properties, as listed in Getting Information About a Locale.For properties containing a code or identifier, you can then obtain a string suitable for presentation to the user with the methods listed in Getting Display Information About a Locale.If you talk to Jane’s sister, she’ll tell you about Jane’s priorities in general, that’s NSLocale.If you talk to your buddy - he’ll advice you to weight upon something you’re good at among what Jane likes, that’s NSBundle.If not, how would I build out an equivalent NSLocale object that behaves the same way, deriving the an appropriate international date string?The locale is formed from the settings for the current user’s chosen system locale overlaid with any custom settings the user has specified.
The likelihood of a real user changing their locale more than once is slim.
It’s a long read, but it’s not necessary to read it all at once.
Important thing is that, while usually this two are the same, so that regional conventions are for the language app is running in, it may often not be the case.
For example, you can report the user's language as a string localized in that language using the autoupdating locale obtained in the previous example: property that ensures dates are converted to strings that match the user's expectations about date formatting.
By default, this property indicates the user's current locale, which is usually the behavior you want, but you can instead set it to another locale instance to obtain a different output.