Unicode based platforms, such as Windows XP, emulate the language environment required to run non-Unicode applications by internally converting application's non-Unicode text data to Unicode using a system-wide variable commonly called the system local (or language for non-Unicode applications). The language of the non-Unicode applications should be of the same script or family as the one defined by the system locale. Failing to meet this condition results in display of garbage characters in the UI of the application.
This approach has few usability limitations:
Only an administrator has the ability of setting the system locale value.
Setting the system locale requires a system reboot.
Only one system locale can be set at a time.
AppLocale (or Application Locale) is a temporary solution to these limitations caused by non-Unicode applications running on the Unicode (UTF-16) based Windows XP. AppLocale detects the language of the legacy application and simulates a corresponding system locale for code-page to/from Unicode conversions.
AppLocale is based on the new application compatibility technology introduced in Windows XP and can only be installed on these two operating systems.
If you frequently use non-Unicode applications in a given script (or set of languages), it is strongly recommended to set your system locale variable to the language of the target application and not to use AppLocale.
Application developers should not consider AppLocale as an alternative to migrate their product to Unicode. Today, with Microsoft Layer for Unicode (MSLU), creating pure Unicode applications that can also be deployed on non-Unicode platforms -- such as Windows 98 -- has been made possible.
大概是說可以讓 non-Unicode 的應用程式在其他語言環境下執行
當你下次要安裝 non-Unicode 應用程式時 ，可以直接執行 AppLocale 來設定該程式的語言環境
當然在 AppLocale 也可以套用你已經安裝的 non-Unicode 應用程式