4 * Copyright 1996 Ulrich Schmid
15 CHAR STRING_MAIN_WIN_CLASS_NAME[] = "PMMain";
16 CHAR STRING_MDI_WIN_CLASS_NAME[] = "MDICLIENT";
17 CHAR STRING_GROUP_WIN_CLASS_NAME[] = "PMGroup";
18 CHAR STRING_PROGRAM_WIN_CLASS_NAME[] = "PMProgram";
21 /* Xx will be overwritten with En, ... */
22 CHAR STRING_ACCEL[] = "ACCEL";
23 CHAR STRING_MAIN_Xx[] = "MENU_Xx";
24 CHAR STRING_NEW_Xx[] = "DIALOG_NEW_Xx";
25 CHAR STRING_OPEN_Xx[] = "DIALOG_OPEN_Xx";
26 CHAR STRING_MOVE_Xx[] = "DIALOG_MOVE_Xx";
27 CHAR STRING_COPY_Xx[] = "DIALOG_COPY_Xx";
28 CHAR STRING_DELETE_Xx[] = "DIALOG_DELETE_Xx";
29 CHAR STRING_GROUP_Xx[] = "DIALOG_GROUP_Xx";
30 CHAR STRING_PROGRAM_Xx[] = "DIALOG_PROGRAM_Xx";
31 CHAR STRING_SYMBOL_Xx[] = "DIALOG_SYMBOL_Xx";
32 CHAR STRING_EXECUTE_Xx[] = "DIALOG_EXECUTE_Xx";
34 static LPCSTR StringTableEn[];
35 static LPCSTR StringTableDe[];
37 VOID STRING_SelectLanguage(LPCSTR lang)
42 /* Change string table */
43 Globals.StringTable = StringTableEn;
44 if (!lstrcmp(lang, "De")) Globals.StringTable = StringTableDe;
46 SetWindowText(Globals.hMainWnd, STRING_PROGRAM_MANAGER);
48 /* Change Resource names */
49 lstrcpyn(STRING_MAIN_Xx + sizeof(STRING_MAIN_Xx) - 3, lang, 3);
50 lstrcpyn(STRING_NEW_Xx + sizeof(STRING_NEW_Xx) - 3, lang, 3);
51 lstrcpyn(STRING_OPEN_Xx + sizeof(STRING_OPEN_Xx) - 3, lang, 3);
52 lstrcpyn(STRING_MOVE_Xx + sizeof(STRING_MOVE_Xx) - 3, lang, 3);
53 lstrcpyn(STRING_COPY_Xx + sizeof(STRING_COPY_Xx) - 3, lang, 3);
54 lstrcpyn(STRING_DELETE_Xx + sizeof(STRING_DELETE_Xx) - 3, lang, 3);
55 lstrcpyn(STRING_GROUP_Xx + sizeof(STRING_GROUP_Xx) - 3, lang, 3);
56 lstrcpyn(STRING_PROGRAM_Xx + sizeof(STRING_PROGRAM_Xx) - 3, lang, 3);
57 lstrcpyn(STRING_SYMBOL_Xx + sizeof(STRING_SYMBOL_Xx) - 3, lang, 3);
58 lstrcpyn(STRING_EXECUTE_Xx + sizeof(STRING_EXECUTE_Xx) - 3, lang, 3);
61 hMainMenu = LoadMenu(Globals.hInstance, STRING_MAIN_Xx);
64 Globals.hFileMenu = GetSubMenu(hMainMenu, 0);
65 Globals.hOptionMenu = GetSubMenu(hMainMenu, 1);
66 Globals.hWindowsMenu = GetSubMenu(hMainMenu, 2);
69 SendMessage(Globals.hMDIWnd, WM_MDISETMENU,
71 (LPARAM) Globals.hWindowsMenu);
72 else SetMenu(Globals.hMainWnd, hMainMenu);
74 /* Destroy old menu */
75 if (Globals.hMainMenu) DestroyMenu(Globals.hMainMenu);
76 Globals.hMainMenu = hMainMenu;
78 /* Unsupported language */
79 else if(lstrcmp(lang, "En")) STRING_SelectLanguage("En");
82 MessageBox(Globals.hMainWnd, "No language found", "FATAL ERROR", MB_OK);
86 /* have to be last because of
87 * the possible recursion */
88 Globals.lpszLanguage = lang;
90 if (!lstrcmp(lang, "De")) Options.language = LANG_De;
91 if (!lstrcmp(lang, "En")) Options.language = LANG_En;
92 GetSystemMenu(Globals.hMainWnd, TRUE);
93 for (hGroup = GROUP_FirstGroup(); hGroup;
94 hGroup = GROUP_NextGroup(hGroup))
96 GROUP *group = LocalLock(hGroup);
97 GetSystemMenu(group->hWnd, TRUE);
102 /* Local Variables: */
103 /* c-file-style: "GNU" */