Release 960302
[wine/hacks.git] / programs / progman / string.c
bloba04085545c4a0bd64e3fa21be7b47d2a8b43c3fe
1 /*
2 * Program Manager
4 * Copyright 1996 Ulrich Schmid
5 */
7 #include <windows.h>
8 #include "progman.h"
10 /* Class names */
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";
17 /* Resource names */
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);
60 #endif
63 /* Create new menu */
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);
71 if (Globals.hMDIWnd)
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");
79 else
81 MessageBox(Globals.hMainWnd, "No language found", "FATAL ERROR", MB_OK);
82 PostQuitMessage(1);
85 /* have to be last because of
86 * the possible recursion */
87 Globals.lpszLanguage = lang;
90 /* Local Variables: */
91 /* c-file-style: "GNU" */
92 /* End: */