This article was previously published under Q169483
This article has been archived. It is offered "as is" and will no longer be updated.
When an application containing resources for multiple languages is runningon Windows 95 or Windows NT, the operating system attempts to load theresource with the most suitable language marking. It determines the mostsuitable language marking according to the thread's Locale ID (in the caseof Windows NT) or the system's Locale ID (in the case of Windows 95). Theoperating system does this without intervention from the applicationprogram.
The operating system searches for the resource (except string resource) tobe loaded in the following order:
The search pattern for the resource language marking is:
Primary Lang/ Sub lang
Any other languages
Neutral (sys default)
Primary Lang/ Sub Lang
Primary Lang/ Sublang_neutral
Whatever else it can find
For example, if the application contains a dialog box resource in SwissGerman, French, US English, the Swiss German dialog box would be loadedwhen running on Swiss German NT, when DialogBox() is called to bring upthis dialog box. If the same binary is running on a Spanish version ofWindows 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 areloaded by calling FindResourceEx(), and specifying the language directly.
The string resource is loaded in a slightly different order: