4 * Copyright 1996 Ulrich Schmid
12 CHAR STRING_MAIN_WIN_CLASS_NAME
[] = "PMMain";
13 CHAR STRING_MDI_WIN_CLASS_NAME
[] = "MDICLIENT";
14 CHAR STRING_GROUP_WIN_CLASS_NAME
[] = "PMGroup";
15 CHAR STRING_PROGRAM_WIN_CLASS_NAME
[] = "PMProgram";
18 /* Xx will be overwritten with En, ... */
19 CHAR STRING_ACCEL
[] = "ACCEL";
20 CHAR STRING_MAIN_Xx
[] = "MENU_Xx";
21 CHAR STRING_NEW_Xx
[] = "DIALOG_NEW_Xx";
22 CHAR STRING_OPEN_Xx
[] = "DIALOG_OPEN_Xx";
23 CHAR STRING_MOVE_Xx
[] = "DIALOG_MOVE_Xx";
24 CHAR STRING_COPY_Xx
[] = "DIALOG_COPY_Xx";
25 CHAR STRING_DELETE_Xx
[] = "DIALOG_DELETE_Xx";
26 CHAR STRING_GROUP_Xx
[] = "DIALOG_GROUP_Xx";
27 CHAR STRING_PROGRAM_Xx
[] = "DIALOG_PROGRAM_Xx";
28 CHAR STRING_SYMBOL_Xx
[] = "DIALOG_SYMBOL_Xx";
29 CHAR STRING_EXECUTE_Xx
[] = "DIALOG_EXECUTE_Xx";
31 static LPCSTR StringTableEn
[];
32 static LPCSTR StringTableDe
[];
34 VOID
STRING_SelectLanguage(LPCSTR lang
)
36 /* Change string table */
37 Globals
.StringTable
= StringTableEn
;
38 if (!lstrcmp(lang
, "De")) Globals
.StringTable
= StringTableDe
;
40 SetWindowText(Globals
.hMainWnd
, STRING_PROGRAM_MANAGER
);
42 /* Change Resource names */
43 lstrcpyn(STRING_MAIN_Xx
+ sizeof(STRING_MAIN_Xx
) - 3, lang
, 3);
44 lstrcpyn(STRING_NEW_Xx
+ sizeof(STRING_NEW_Xx
) - 3, lang
, 3);
45 lstrcpyn(STRING_OPEN_Xx
+ sizeof(STRING_OPEN_Xx
) - 3, lang
, 3);
46 lstrcpyn(STRING_MOVE_Xx
+ sizeof(STRING_MOVE_Xx
) - 3, lang
, 3);
47 lstrcpyn(STRING_COPY_Xx
+ sizeof(STRING_COPY_Xx
) - 3, lang
, 3);
48 lstrcpyn(STRING_DELETE_Xx
+ sizeof(STRING_DELETE_Xx
) - 3, lang
, 3);
49 lstrcpyn(STRING_GROUP_Xx
+ sizeof(STRING_GROUP_Xx
) - 3, lang
, 3);
50 lstrcpyn(STRING_PROGRAM_Xx
+ sizeof(STRING_PROGRAM_Xx
) - 3, lang
, 3);
51 lstrcpyn(STRING_SYMBOL_Xx
+ sizeof(STRING_SYMBOL_Xx
) - 3, lang
, 3);
52 lstrcpyn(STRING_EXECUTE_Xx
+ sizeof(STRING_EXECUTE_Xx
) - 3, lang
, 3);
54 /* Destroy old menu */
55 if (Globals
.hMainMenu
)
57 SendMessage(Globals
.hMDIWnd
, WM_MDISETMENU
, (WPARAM
) NULL
, (LPARAM
) NULL
);
58 #if 0 /* FIXME when MDISetMenu is complete */
59 DestroyMenu(Globals
.hMainMenu
);
64 Globals
.hMainMenu
= LoadMenu(Globals
.hInstance
, STRING_MAIN_Xx
);
65 if (Globals
.hMainMenu
)
67 Globals
.hFileMenu
= GetSubMenu(Globals
.hMainMenu
, 0);
68 Globals
.hOptionMenu
= GetSubMenu(Globals
.hMainMenu
, 1);
69 Globals
.hWindowsMenu
= GetSubMenu(Globals
.hMainMenu
, 2);
72 SendMessage(Globals
.hMDIWnd
, WM_MDISETMENU
,
73 (WPARAM
) Globals
.hMainMenu
,
74 (LPARAM
) Globals
.hWindowsMenu
);
75 else SetMenu(Globals
.hMainWnd
, Globals
.hMainMenu
);
77 /* Unsupported language */
78 else if(lstrcmp(lang
, "En")) STRING_SelectLanguage("En");
81 MessageBox(Globals
.hMainWnd
, "No language found", "FATAL ERROR", MB_OK
);
85 /* have to be last because of
86 * the possible recursion */
87 Globals
.lpszLanguage
= lang
;
90 /* Local Variables: */
91 /* c-file-style: "GNU" */