One way is to use notification such as NSCurrent Locale Did Change Notification method call.
The locale is formed from the settings for the current user’s chosen system locale overlaid with any custom settings the user has specified.
I'm in the processes of internationalizing an i Phone app - I need to make programmatic changes to certain views based on what the user's current locale is.
I'm going nuts because no matter what the language preference on the i Phone simulator or actual hardware are, The crazy thing is that the rest of the application behaves as expected.
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.
If you need to rely on a locale that does not change, use the locale given by the property instead.
Although the locale obtained here automatically follows the latest region settings, it provides no indication when the settings change.
It seems like that should be a pretty straightforward thing to do, right?
Take a look at the following test code and see if you can figure out why it fails.