Microsoft KB Archive/198536

= How to modify the project settings and resource files to use localized MFC resources =

Article ID: 198536

Article Last Modified on 11/21/2006

-

APPLIES TO

 Microsoft Foundation Class Library 4.2, when used with:  Microsoft Visual C++ 4.0 Standard Edition

 Microsoft Visual C++ 4.1 Subscription

 Microsoft Visual C++ 4.2 Enterprise Edition

 Microsoft Visual C++ 5.0 Enterprise Edition</li></ul>

 Microsoft Visual C++ 6.0 Enterprise Edition</li></ul>

 Microsoft Visual C++ 4.2 Professional Edition</li></ul>

 Microsoft Visual C++ 5.0 Professional Edition</li></ul>

 Microsoft Visual C++ 6.0 Professional Edition</li></ul>

 Microsoft Visual C++ 6.0 Standard Edition</li></ul> </li></ul>

-

<div class="notice_section">

This article was previously published under Q198536

<div class="summary_section">

SUMMARY
MFC provides resource files localized for certain locales, in the MFC\SRC\L.* and MFC\Include\L.* directories. This article describes how to modify the project settings and resource file to use these localized MFC resources.

NOTE: The information in this article does not apply to resources for ActiveX controls.

<div class="moreinformation_section">

MORE INFORMATION
Steps to include the localized resources:

<ol> On the Project menu, click Project Settings. In the Project Settings dialog box, select the Resource property page. Remove the _AFXDLL preprocessor definition. Click OK on the property sheet.</li> Open the string table using the Resource Editor and remove all the non application-specific strings generated by AppWizard. For example, if this application is an AppWizard-generated application, remove all the entries for the IDs from ID_FILE_NEW to the end of the string table. Strings for IDR_MAINFRAME, IDR_MYPROJTYPE, AFX_IDS_APP_TITLE, and AFX_IDS_IDLEMESSAGE are application-specific, and therefore localized strings are not provided by the MFC resource files.</li> On the View menu, click Resource Includes. In the Compile-time directives window, do the following: <ol style="list-style-type: lower-alpha;">  Set the primary language ID and the sub-language ID appropriately in the LANGUAGE statement. The appropriate values can be found in the ...\vc\include\winnt.h file. Note that the values specified in the LANGUAGE statement must be base-10. The values in Winnt.h are base-16. <pre class="fixed_text">Example: LANUGAGE 11, 1 // Specifies standard French </li> Make sure that the code page specified in the #pragma code_page statement is correct. For ANSI English and most European languages the code page is 1252; for Japanese it is 932.</li>  Modify the existing statements that include resources used by the MFC framework. These resources are located in the appropriate localized ..\vc\mfc\include directory. For example, change the following #include "afxres.rc" #include "afxprint.rc" #include "afxolecl.rc" #include "afxolesv.rc"

to the following:

#include "l.fra/afxres.rc" #include "l.fra/afxprint.rc" #include "l.fra/afxolecl.rc" #include "l.fra/afxolesv.rc"

(A project will use the Afxolecl.rc and Afxolesv.rc files only if they are OLE client and/or server applications.) </li> <li> The Indicate.rc and Prompts.rc files contain the key-state indicators and menu-prompt strings that are displayed on the status bar by MFC. These files are located in the ..\vc\mfc\src directory. To include these files, #include them and explicitly specify their location. For example: #include "c:\VC\mfc\src\l.fra\prompts.rc" #include "c:\VC\mfc\src\l.fra\indicate.rc" </li> <li>Click OK to close the Resource Includes dialog box.</li></ol> </li> <li>Build the application or DLL.</li></ol>

<div class="references_section">