INFO: Resource Language Loading Order

Last reviewed: January 15, 1998
Article ID: Q169483
The information in this article applies to:
  • Microsoft Win32 Software Development Kit (SDK)

SUMMARY

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:

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. 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:

Windows NT

  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

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
Keywords          : intlnls kbprg
Platform          : NT WINDOWS
Issue type        : kbinfo


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: January 15, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.