本地化的rc文件将无法编译

时间:2011-01-12 23:22:49

标签: internationalization compilation rc

我有一个非常标准的C ++ win32应用程序已经国际化。问题是翻译的rc文件无法编译。编译的英语rc和不编译的翻译的rcs之间的唯一区别是LANGUAGE,code_page和翻译文本。例如:

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

成了

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(932)
#endif //_WIN32

IDC_TOOLMENU MENU 
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "E&xit",                       IDM_EXIT
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&About ...",                  IDM_ABOUT
    END
END

成了

IDC_TOOLMENU MENU 
BEGIN
    POPUP "&ファイル"
    BEGIN
        MENUITEM "閉&じる",                       IDM_EXIT
    END
    POPUP "&ヘルプ"
    BEGIN
        MENUITEM "&バージョン情報 ...",             IDM_ABOUT
    END
END

当我尝试编译日语rc时,我收到以下错误:

1>.\ja\Resources.rc(47) : error RC2121 : BEGIN expected in menu
1>.\ja\Resources.rc(47) : error RC2104 : undefined keyword or key name: 

Google在这种情况下并没有特别有用。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

发现问题。我翻译的rc文件是UTF-8,rc.exe只支持ANSI或UTF-16LE。