Mapping Locale Data
NLS includes a number of API functions that your applications can use to map locale data between locale identifiers and locale names, and list neutral locales. This topic discusses the use of these functions on Windows Vista and later and on pre-Windows Vista operating systems (sometimes called "downlevel systems").
NLS provides several locale mapping functions for use by applications that you develop to run on Windows Vista and later. It also includes functions that your applications can use to enumerate neutral locales.
Use the Standard Conversion Functions for Data Mapping
To map between a locale name and a locale identifier, your application can call the LocaleNameToLCID function. The application uses LCIDToLocaleName to map between a locale identifier and a locale name.
List Neutral Locales
To enumerate neutral locales for Windows 7 and later, your application can call EnumSystemLocalesEx with dwFlags set to LOCALE_NEUTRALDATA. It can also use GetLocaleInfoEx with LCType set to LOCALE_INEUTRAL.
NLS includes a direct-link library (DLL) to use for applications that you develop to run on pre-Windows Vista operating systems. The DLL supports both conversion and listing functions for data mapping.
Note Applications that only run on Windows Vista and later should not use the downlevel mapping or listing functions.
Use the Downlevel Conversion Functions for Data Mapping
Your application targeted at a downlevel system can call the DownlevelLCIDToLocaleName function to convert a locale identifier to a locale name. If it needs to convert a locale name to a locale identifier, it should call DownlevelLocaleNameToLCID.
Use the Downlevel Listing Functions to Enumerate Neutral Locales
Your application should call the DownlevelGetParentLocaleLCID to retrieve the locale identifier of the parent for a locale. If the application needs to get the locale name of the parent for the locale, it should call DownlevelGetParentLocaleName.