INFO: Resource Language Loading Order

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:

Windows NT

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)

Windows 95

  1. Neutral
  2. Primary Lang/ Sub Lang
  3. Primary Lang/ Sublang_neutral
  4. English (US)
  5. Neutral (default)
  6. 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:

Windows NT

  1. Neutral
  2. Prim Lang/ Sub Lang
  3. English (US)
  4. Neutral (default)
  5. Whatever else it can find

Windows 95

  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

Article ID: 169483 - Last Review: 01/10/2015 11:12:03 - Revision: 2.2

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Platform Software Development Kit-January 2000 Edition

  • kbnosurvey kbarchive kbinfo kbintl kbintldev kbnls kbprogramming KB169483