Locale Manager
Purpose
The locale manager is used to resolve the best fit locale given a list of preferences and available locales. The locale manager accepts a list of preference providers and one resolution logic provider. The preference providers gives the locale manager the list of locales preferences. The resolution provider will choose a locale from the list of available locales given a preference list of locales.
Preference Provider
Preference provider gathers a list of locales and have a method (defined by ILocalePreferenceProvider interface) to allow the locale manager to retrieve that list.
Resolution Provider
The resolution provider is the heart of the locale manager, it determines which locale is the best fit. Resolution providers are defined by the interface ILocaleResolutionProvider.