我有一个已经国际化的非常标准的 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:
在这种情况下,谷歌并不是特别有帮助。有任何想法吗?