Локализованный rc файл не скомпилируется - PullRequest
1 голос
/ 13 января 2011

У меня есть довольно стандартное C32 win32 приложение, которое было интернационализировано.Проблема в том, что переведенные файлы rc не будут компилироваться.Единственные различия между английским rc, который выполняет компиляцию, и переведенным rc, который не компилируется, это ЯЗЫК, 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 Ответ

3 голосов
/ 13 января 2011

Нашел проблему. Мои переведенные файлы rc были в формате UTF-8, а rc.exe поддерживает только ANSI или UTF-16LE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...