ID: Q169483
The information in this article applies to:
When an application containing resources for multiple languages is running on Windows 95 or Windows NT, the operating system attempts to load the resource with the most suitable language marking. It determines the most suitable language marking according to the thread's Locale ID (in the case of Windows NT) or the system's Locale ID (in the case of Windows 95). The operating system does this without intervention from the application program.
The operating system searches for the resource (except string resource) to be loaded in the following order:
The search pattern for the resource language marking is:
1. Neutral 2. Primary Lang/ Sub lang 3. English (US) 4. Neutral (default) 5. Any other languages 6. Neutral (sys default)
1. Neutral 2. Primary Lang/ Sub Lang 3. Primary Lang/ Sublang_neutral 4. English (US) 5. English 6. Any other languages 7. Neutral (default) 8. Neutral (sys default)
For example, if the application contains a dialog box resource in Swiss German, French, US English, the Swiss German dialog box would be loaded when running on Swiss German NT, when DialogBox() is called to bring up this dialog box. If the same binary is running on a Spanish version of Windows NT, then the US English version of the same dialog box is loaded. These examples will occur without any change to the code.
Programmers can also control the language version of the resource they are loaded by calling FindResourceEx(), and specifying the language directly.
The string resource is loaded in a slightly different order:
1. Neutral 2. Prim Lang/ Sub Lang 3. English (US) 4. English 5. Neutral (default) 6. Neutral (sys default) 7. Whatever else it can find
1. Neutral 2. Neutral (default) 3. Neutral (sys default) 4. Prim Lang/ Sub Lang 5. English (US) 6. English 7. Whatever else it can find
Keywords : kbprg intlnls
Platform : NT WINDOWS
Issue type : kbinfo
Last Reviewed: January 16, 1998