File: PROTOCOL\TProtocolLanguage.cpp
1 //******************************************************************************
2 //Datei : TProtocolLanguage.cpp
3 //Projekt : XCTL
4 //Subsystem : Protokollbuch
5 //Autor : Jens Klier <klier@informatik.hu-berlin.de>
6 // Institut fuer Informatik,
7 // Humboldt-Universitaet Berlin
8 //Inhalt : Implementation der Klasse TProtocolLanguage
9 //******************************************************************************
10 //!neu klier Protokollbuch
11
12 #include "internls\evrythng.h" // GermanVersion
13 #include "winresrc\rc_prtow.h" // Ressourcen-IDs
14 #include <commdlg.h>
15 #include <commctrl.h>
16
17 #include "protocol\TProtocolLanguage.h"
18
19 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--
20
21 TProtocolLanguage::TProtocolLanguage()
22 {
23 #ifdef GermanVersion
24 SetLanguage(german);
28 #endif //GermanVersion
29 };
30
31 void TProtocolLanguage::SetLanguage(TLanguage Language)
32 {
33 ProtocolLanguage= Language;
34 switch (Language)
35 {
36 case german:
37 strFailure= "Protokollbuch - Fehler";
38 strWarning= "Protokollbuch - Warnung";
39 strQuestion= "Protokollbuch - Frage";
40 strMessage[0]= "Protokollbuch - Meldung";
41 //Meldungen TProtocol.cpp
42 strMessage[1]= "Speicherfehler: Kein Speicher mehr für new Parameter!";
43 strMessage[2]= "Die Protokollbuchdatei %s existiert nicht! Soll die Datei neu erstellt werden? (Wenn nicht können Sie nach ihr suchen.)";
44 strMessage[3]= "Protokolldatei konnte nicht erstellt werden!\nÜberprüfen Sie ob das Verzeichnis %s existiert!";
45 strMessage[4]= "Fehler beim initialisieren des Protokollbuches!\nDie Protokollbuchfunktion kann nicht verwendet werden!";
46 strMessage[5]= "Speicherfehler: Kein Speicher mehr für new INDEX!";
47 strMessage[6]= "Speicherfehler: Kein Speicher mehr für new POINT!";
48 strMessage[7]= "Datei konnte nicht importiert werden!";
49 strMessage[8]= "Importstatistik:\n\nImportierte Messungen: ";
50 strMessage[9]= "Importierte Skizzen: ";
51 strMessage[10]= "Nicht importierte doppelte LfdNr: ";
52 strMessage[11]= "Nicht importierte fehlerhafte Messungen: ";
53 strMessage[12]= "Nicht importierte gelöschte Messungen: ";
54 strMessage[13]= "Nicht importierte vorhandene Skizzen: ";
55 strMessage[14]= "Nicht importierte nicht vorhandene Skizzen: ";
56 strMessage[15]= "Die Protokolldatei ist fehlerhaft!!!\nDer Parameter %s: %s ist ungültig!";
57 strMessage[16]= "Die Protokolldatei ist fehlerhaft!!!\nDer Parameter Lfd.-Nr.: %s und/oder Datum: %s sind ungültig!";
58 //Fenster - Datei öffnen
59 strMessage[17]= "Protokollbuch - Datei öffnen";
60 //Meldungen TProtocolDlg.cpp
61 strMessage[18]= "Ein Wert wurde verändert!\nSollen die Parameter gespeichert werden?";
62 strMessage[19]= "Der Wert %s muß eingetragen werden!";
63 strMessage[20]= "Der Wert %s wurde von \"%s\" auf \"%s\" geändert!";
64 strMessage[21]= "Der Wert %s: %s : darf maximal %d Zeichen lang sein!";
65 strMessage[22]= "Soll das Aufzeichnen der Messung ins Protokollbuch beendet werden?";
66 strMessage[23]= "Fehler in PicFile!";
67 strMessage[24]= "Passwort falsch!";
68 strMessage[25]= "Skizze löschen?";
69 strMessage[26]= "Wenn Sie diese Messung mit einem Passwortschutz versehen, ist eine automatische Parameterübernahme in diese Messung nicht mehr möglich!\nWollen Sie die Messung mit einem Passwort schützen?";
70 strMessage[27]= "Wenn Sie diese Messung mit einem Passwortschutz versehen, können Sie evtl. einige Parameter nicht mehr ändern!\nWollen Sie die Messung mit einem Passwort schützen?";
71 strMessage[62]= "Parameter gespeichert!";
72 strMessage[63]= "Neue Messung!";
73 strMessage[64]= "LfdNr. eingeben";
74 strMessage[65]= "Freihand zeichen.";
75 strMessage[66]= "Linien zeichnen.";
76 strMessage[67]= "Der Skizze wird erst nach dem abschließenden \"Ok\" gespeichert!";
77 strMessage[68]= "Skizze zeichnen!";
78 strMessage[69]= "Die Skizze wurde geändert!";
79 //Meldungen TProtocolDiffractometryDlg.cpp
80 strMessage[28]= "Eingabe %s ist fehlerhaft! Bitte korrigieren! (Pflichtfeld!)";
81 //Meldungen TProtocolManagePrintDlg.cpp
82 strMessage[29]= "Nicht genug Speicher vorhanden!";
83 strMessage[30]= "Es ist keine Messung markiert!\nSollen alle ";
84 strMessage[31]= " Messungen gedruckt werden( ";
85 strMessage[32]= " Messung gedruckt werden( ";
86 strMessage[33]= " Druckseiten A4)?";
87 strMessage[34]= "Es ist keine Messung markiert!";
88 strMessage[35]= "Printer cannot display bitmaps.";
89 strMessage[36]= "Druckfehler!\nGetDeviceCaps()";
90 strMessage[37]= "Druckfehler!\nStartDoc()";
91 strMessage[38]= "Druckfehler!\nEndPage()";
92 strMessage[39]= "Druckfehler!\nStartPage()";
93 strMessage[40]= "Druckfehler!\nEndDoc()";
94 strMessage[41]= "Druckfehler!\nLoadProtocolString()";
95 strMessage[42]= " Messungen markiert -> ";
96 strMessage[43]= " Messung markiert -> ";
97 strMessage[44]= " Druckseiten A4";
98 strMessage[45]= "Markieren Sie eine Messung!";
99 strMessage[46]= "Bitte warten....";
100 strMessage[47]= "Import beendet!";
101 strMessage[48]= "Import fehlgeschlagen!";
102 strMessage[49]= "Wiederherstellen";
103 strMessage[50]= "Löschen";
104 strMessage[51]= " Messungen gelöscht!";
105 strMessage[52]= " Messung gelöscht!";
106 strMessage[53]= " Messungen wiederhergestellt!";
107 strMessage[54]= " Messung wiederhergestellt!";
108 strMessage[55]= "Drucke Seite ";
109 strMessage[56]= " von ";
110 strMessage[57]= " Seiten.";
111 //Meldungen TProtocolTopographyManagePrintDlg.cpp, TProtocolDiffractometryManagePrintDlg.cpp
112 strMessage[58]= "Eingabe Datum korrigieren";
113 strMessage[59]= " Messungen wurden gefunden";
114 strMessage[60]= " Messung wurde gefunden";
115 strMessage[61]= "keine Messung gefunden";
116 break;
117
118 case english:
119 strFailure= "protocol - Error";
120 strWarning= "protocol - Warning";
121 strQuestion= "protocol - Question";
122 strMessage[0]= "protocol - Message";
123 //message TProtocol.cpp
124 strMessage[1]= "out of memory! cannot allocate storage for new parameter!";
125 strMessage[2]= "protocolfile %s not found! create it?";
126 strMessage[3]= "couldn't create protocolfile. check wether directory %s exists!";
127 strMessage[4]= "Errors with initialize the protocol book!\nThe protocol book function cannot be used!";
128 strMessage[5]= "out of memory! cannot allocate storage for new pindex!";
129 strMessage[6]= "out of memory! cannot allocate storage for new point!";
130 strMessage[7]= "could not import file!";
131 strMessage[8]= "statistics:\n\nimportet results: ";
132 strMessage[9]= "importet drafts: ";
133 strMessage[10]= "not imported No: ";
134 strMessage[11]= "errors in result(not imported): ";
135 strMessage[12]= "result deleted(not imported): ";
136 strMessage[13]= "drafts existing but not imported: ";
137 strMessage[14]= "drafts not existing and not imported: ";
138 strMessage[15]= "protocolfile is wrong!!!\nparameter %s is wrong!";
139 strMessage[16]= "protocolfile is wrong!!!\nparameter lfd.-nr.: %s and/or date: %s are wrong!";
140 //Fenster - Datei öffnen
141 strMessage[17]= "protocol - open file";
142 //message TProtocolDlg.cpp
143 strMessage[18]= "a value was changed!\nsave parameters?";
144 strMessage[19]= "value %s missing!";
145 strMessage[20]= "value %s changed from \"%s\" to \"%s\" !";
146 strMessage[21]= "value %s: %s : cannot be longer than %d digits!";
147 strMessage[22]= "stop writing to protocolfile?";
148 strMessage[23]= "errors in PicFile!";
149 strMessage[24]= "password not recognized!";
150 strMessage[25]= "delete draft?";
151 strMessage[26]= "If you provide this measurement with a password protection, an automatic parameter transfer is no longer possible into this measurement!\nDo you want to protect the measurement with a password?";
152 strMessage[27]= "If you provide this measurement with a password protection, you cannot change possibly some parameters any longer!\nDo you want to protect the measurement with a password?";
153 strMessage[62]= "parameter saved!";
154 strMessage[63]= "new measurement!";
155 strMessage[64]= "enter No";
156 strMessage[65]= "draw freely";
157 strMessage[66]= "draw lines";
158 strMessage[67]= "draft is stored first, after press \"Ok\"!";
159 strMessage[68]= "draw drawing!";
160 strMessage[69]= "draw was changed!";
161 //message TProtocolDiffractometryDlg.cpp
162 strMessage[28]= "value %s is wrong! please correct (value mandatory)";
163 //message TProtocolManagePrintDlg.cpp
164 strMessage[29]= "out of memory!";
165 strMessage[30]= "no measurement selected!\nprint all ";
166 strMessage[31]= " measurements( ";
167 strMessage[32]= " measurements( ";
168 strMessage[33]= " pages of print A4)?";
169 strMessage[34]= "no measurement selected!";
170 strMessage[35]= "Printer cannot display bitmaps.";
171 strMessage[36]= "print error!\nGetDeviceCaps()";
172 strMessage[37]= "print error!\nStartDoc()";
173 strMessage[38]= "print error!\nEndPage()";
174 strMessage[39]= "print error!\nStartPage()";
175 strMessage[40]= "print error!\nEndDoc()";
176 strMessage[41]= "print error!\nLoadProtocolString()";
177 strMessage[42]= " selected measurements -> print ";
178 strMessage[43]= " selected measurements -> print ";
179 strMessage[44]= " pages A4";
180 strMessage[45]= "select measurement!";
181 strMessage[46]= "please wait....";
182 strMessage[47]= "import done!";
183 strMessage[48]= "import failed!";
184 strMessage[49]= "undo";
185 strMessage[50]= "delete";
186 strMessage[51]= " measurement deleted!";
187 strMessage[52]= " measurement deleted!";
188 strMessage[53]= " measurement restored!";
189 strMessage[54]= " measurement restored!";
190 strMessage[55]= "print page ";
191 strMessage[56]= " from ";
192 strMessage[57]= " pages.";
193 //message TProtocolTopographyManagePrintDlg.cpp, TProtocolDiffractometryManagePrintDlg.cpp
194 strMessage[58]= "date to correct";
195 strMessage[59]= " measurement found";
196 strMessage[60]= " measurement found";
197 strMessage[61]= "no measurement found";
198 break;
199 }
200 };
201
202 LPCSTR TProtocolLanguage::GetFailure()
203 {
204 return strFailure;
205 };
206
207 LPCSTR TProtocolLanguage::GetWarning()
208 {
209 return strWarning;
210 };
211
212 LPCSTR TProtocolLanguage::GetQuestion()
213 {
214 return strQuestion;
215 };
216
217 LPCSTR TProtocolLanguage::GetMessage(int Nr)
218 {
219 return strMessage[Nr];
220 };
221
222 void TProtocolLanguage::SetProtocolLanguageDlgMenu(void)
223 {
224 switch (ProtocolLanguage)
225 {
226 case german:
227 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolDeutsch, MF_CHECKED );
228 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolEnglisch, MF_UNCHECKED );
229 break;
230
231 case english:
232 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolDeutsch, MF_UNCHECKED );
233 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolEnglisch, MF_CHECKED );
234 break;
235 }
236 };
237
238 void TProtocolLanguage::InitializeDlgLanguage(HWND hwnd)
239 {
240 char buf[MaxString];
241
242 #ifdef GermanVersion
243
244 GetPrivateProfileString("Protocol", "Language", "deutsch", buf, MaxString, GetCFile());
248 #endif //GermanVersion
249
250 if ( (strcmp(buf, "englisch") == 0) || (strcmp(buf, "english") == 0) )
251 SetLanguage(english);
252 else
253 SetLanguage(german);
254
255 hProtocolSystemMenu= GetSystemMenu(hwnd, FALSE);
256 // Sprache im Systemmenue
257 HMENU hmenu= CreatePopupMenu();
258 AppendMenu(hmenu, MF_STRING, cm_ProtcolDeutsch, "&Deutsch");
259 AppendMenu(hmenu, MF_STRING, cm_ProtcolEnglisch, "&Englisch");
260 AppendMenu(hProtocolSystemMenu, MF_SEPARATOR, 0, NULL);
261 AppendMenu(hProtocolSystemMenu, MF_POPUP, (WORD)hmenu, "Sprache");
262 DrawMenuBar(hwnd);
263
264 SetProtocolLanguageDlgMenu();
265 };
266
267 void TProtocolLanguage::SetDlgLanguage(int id)
268 {
269 switch (id)
270 {
271 case cm_ProtcolDeutsch:
272 SetLanguage(german);
273 WritePrivateProfileString("Protocol", "Language", "deutsch", GetCFile());
274 break;
275
276 case cm_ProtcolEnglisch:
277 SetLanguage(english);
278 WritePrivateProfileString("Protocol", "Language", "englisch", GetCFile());
279 break;
280 }
281 SetProtocolLanguageDlgMenu();
282 };
283
284 void TProtocolLanguage::SetTopographyDlgLanguage(HWND hwnd, int id)
285 {
286 SetDlgLanguage(id);
287 SetTopographyDlgLanguage(hwnd);
288 };
289
290 void TProtocolLanguage::SetProtocolDlgLanguage(HWND hwnd)
291 {
292 switch (ProtocolLanguage)
293 {
294 case german:
295 SetDlgItemText(hwnd, id_GruppeProbe, "Probe");
296 SetDlgItemText(hwnd, id_GruppeSkizze, "Lageskizze");
297 SetDlgItemText(hwnd, id_DatumText, "Datum:");
298 SetDlgItemText(hwnd, id_NutzerText, "Nutzer:");
299 SetDlgItemText(hwnd, id_ReadOnly, "Passwortschutz");
300 SetDlgItemText(hwnd, id_ProbenNrText, "Probennummer:");
301 SetDlgItemText(hwnd, id_LieferantText, "Lieferant:");
302 SetDlgItemText(hwnd, id_MerkmalText, "Merkmal:");
303 SetDlgItemText(hwnd, id_MaterialText, "Material:");
304
305 SetDlgItemText(hwnd, IDOK, "&Ok");
306 SetDlgItemText(hwnd, IDCANCEL, "&Abbruch");
307 SetDlgItemText(hwnd, IDPRINT, "&Verwalten/Drucken");
308 SetDlgItemText(hwnd, id_Help, "&Hilfe");
309 break;
310
311 case english:
312 SetDlgItemText(hwnd, id_GruppeProbe, "specimen");
313 SetDlgItemText(hwnd, id_GruppeSkizze, "sketch");
314 SetDlgItemText(hwnd, id_DatumText, "date:");
315 SetDlgItemText(hwnd, id_NutzerText, "user:");
316 SetDlgItemText(hwnd, id_ReadOnly, "password on");
317 SetDlgItemText(hwnd, id_ProbenNrText, "specimen number:");
318 SetDlgItemText(hwnd, id_LieferantText, "provider:");
319 SetDlgItemText(hwnd, id_MerkmalText, "characteristic:");
320 SetDlgItemText(hwnd, id_MaterialText, "material:");
321
322 SetDlgItemText(hwnd, IDOK, "&ok");
323 SetDlgItemText(hwnd, IDCANCEL, "&cancel");
324 SetDlgItemText(hwnd, IDPRINT, "&manage/print");
325 SetDlgItemText(hwnd, id_Help, "&help");
326 break;
327 }
328 };
329
330 void TProtocolLanguage::SetTopographyDlgLanguage(HWND hwnd)
331 {
332 int iTab=0;
333 HWND hTab= GetDlgItem( hwnd, id_Tab );
334
335 switch (ProtocolLanguage)
336 {
337 case german:
338 SetWindowText(hwnd, "Protokollbuch Topographie (deutsch)");
339 SetProtocolDlgLanguage(hwnd);
340
341 TabCtrl_SetItemText(hTab, iTab++, "Kollimator/Röhre");
342 TabCtrl_SetItemText(hTab, iTab++, "Messung/Filme");
343 TabCtrl_SetItemText(hTab, iTab++, "Beginn Messung");
344 TabCtrl_SetItemText(hTab, iTab++, "Ende Messung");
345
346 SetDlgItemText(hwnd, id_LfdNrText, "Lfd.-RTK-Nr.:");
347 SetDlgItemText(hwnd, id_WinkelText, "Winkel:");
348 SetDlgItemText(hwnd, id_WinkelEinheit, "Grad");
349 SetDlgItemText(hwnd, id_GroesseText, "Größe:");
350 SetDlgItemText(hwnd, id_ReflexText, "Reflex:");
351 SetDlgItemText(hwnd, id_EinfallswinkelText, "Einfallswinkel:");
352 SetDlgItemText(hwnd, id_EinfallswinkelEinheit, "Grad");
353 SetDlgItemText(hwnd, id_BeugungswinkelText, "Beugungswinkel:");
354 SetDlgItemText(hwnd, id_BeugungswinkelEinheit, "Grad");
355
356 SetDlgItemText(hwnd, id_GruppeKollimator, "Kollimator");
357 SetDlgItemText(hwnd, id_KReflexText, "Reflex:");
358 SetDlgItemText(hwnd, id_KNrText, "Nr.:");
359 SetDlgItemText(hwnd, id_KKruemmungText, "Krümmung:");
360 SetDlgItemText(hwnd, id_KMaterialText, "Material:");
361 SetDlgItemText(hwnd, id_GruppeRoehre, "Röhre");
362 SetDlgItemText(hwnd, id_RMaterialText, "Material:");
363 SetDlgItemText(hwnd, id_RSpannungText, "Spannung:");
364 SetDlgItemText(hwnd, id_RStromText, "Strom:");
365 SetDlgItemText(hwnd, id_RImpMaxText, "Impuls/s Max.:");
366
367 SetDlgItemText(hwnd, id_GruppeMessung, "Messung");
368 SetDlgItemText(hwnd, id_MImpMaxText, "Impuls/s Max.:");
369 SetDlgItemText(hwnd, id_MSpannungText, "Spannung:");
370 SetDlgItemText(hwnd, id_MStromText, "Strom:");
371 SetDlgItemText(hwnd, id_HWBText, "HWB:");
372 SetDlgItemText(hwnd, id_GruppeFilme, "Filme");
373 SetDlgItemText(hwnd, id_FAnzahlText, "Anzahl:");
374 SetDlgItemText(hwnd, id_PGroesseXText, "Plattengröße:");
375 SetDlgItemText(hwnd, id_FMaterialText, "Aufnahmematerial:");
376 SetDlgItemText(hwnd, id_FAbstandText, "Abstand:");
377
378 SetDlgItemText(hwnd, id_GruppeBeginnMessung, "Beginn Messung");
379 SetDlgItemText(hwnd, id_STEText, "statistischer Fehler:");
380 SetDlgItemText(hwnd, id_CRTText, "Zählzeit:");
381 SetDlgItemText(hwnd, id_INCDFText, "Schrittweite:");
382 SetDlgItemText(hwnd, id_NBEXPOSText, "Anzahl Belichtungen:");
383 SetDlgItemText(hwnd, id_ABEText, "Winkel zw. Belichtungen:");
384 SetDlgItemText(hwnd, id_RSAText, "kleinster Startwinkel:");
385 SetDlgItemText(hwnd, id_CONLIMITText, "proz. Abweichung:");
386 SetDlgItemText(hwnd, id_CONPOINTText, "Arbeitspunkt:");
387 SetDlgItemText(hwnd, id_EXPTText, "Belichtungszeit:");
388
389 SetDlgItemText(hwnd, id_GruppeEndeMessung, "Ende der Messung");
390 SetDlgItemText(hwnd, id_GruppeRegelung, "Regelung");
391 SetDlgItemText(hwnd, id_ImpsvorText, "Impuls/s vor Messung:");
392 SetDlgItemText(hwnd, id_ImpsnachText, "Impuls/s nach Messung:");
393 SetDlgItemText(hwnd, id_DFvorText, "DF vor Messung:");
394 SetDlgItemText(hwnd, id_DFnachText, "DF nach Messung:");
395 SetDlgItemText(hwnd, id_BemerkungText, "Bemerkung:");
396 break;
397
398 case english:
399 SetWindowText(hwnd, "protocol topography (english)");
400 SetProtocolDlgLanguage(hwnd);
401
402 TabCtrl_SetItemText(hTab, iTab++, "collimator/conduit");
403 TabCtrl_SetItemText(hTab, iTab++, "measurement/film");
404 TabCtrl_SetItemText(hTab, iTab++, "measurement begin");
405 TabCtrl_SetItemText(hTab, iTab++, "measurement end");
406
407 SetDlgItemText(hwnd, id_LfdNrText, "lfd.-rtk-nr.:");
408 SetDlgItemText(hwnd, id_WinkelText, "angle:");
409 SetDlgItemText(hwnd, id_WinkelEinheit, "degree");
410 SetDlgItemText(hwnd, id_GroesseText, "volume:");
411 SetDlgItemText(hwnd, id_ReflexText, "reflex:");
412 SetDlgItemText(hwnd, id_EinfallswinkelText, "a. of incidence:"); //angles of incidence
413 SetDlgItemText(hwnd, id_EinfallswinkelEinheit, "degree");
414 SetDlgItemText(hwnd, id_BeugungswinkelText, "a. of flection:"); //angles of flection:
415 SetDlgItemText(hwnd, id_BeugungswinkelEinheit, "degree");
416
417 SetDlgItemText(hwnd, id_GruppeKollimator, "collimator");
418 SetDlgItemText(hwnd, id_KReflexText, "reflex:");
419 SetDlgItemText(hwnd, id_KNrText, "Nr.:");
420 SetDlgItemText(hwnd, id_KKruemmungText, "curve:");
421 SetDlgItemText(hwnd, id_KMaterialText, "material:");
422 SetDlgItemText(hwnd, id_GruppeRoehre, "conduit");
423 SetDlgItemText(hwnd, id_RMaterialText, "material:");
424 SetDlgItemText(hwnd, id_RSpannungText, "voltage:");
425 SetDlgItemText(hwnd, id_RStromText, "power:");
426 SetDlgItemText(hwnd, id_RImpMaxText, "impulse/s max.:");
427
428 SetDlgItemText(hwnd, id_GruppeMessung, "measurement");
429 SetDlgItemText(hwnd, id_MImpMaxText, "impulse/s max.:");
430 SetDlgItemText(hwnd, id_MSpannungText, "voltage:");
431 SetDlgItemText(hwnd, id_MStromText, "power:");
432 SetDlgItemText(hwnd, id_HWBText, "HWB:");
433 SetDlgItemText(hwnd, id_GruppeFilme, "film");
434 SetDlgItemText(hwnd, id_FAnzahlText, "number:");
435 SetDlgItemText(hwnd, id_PGroesseXText, "disk size:");
436 SetDlgItemText(hwnd, id_FMaterialText, "copy material:");
437 SetDlgItemText(hwnd, id_FAbstandText, "space:");
438
439 SetDlgItemText(hwnd, id_GruppeBeginnMessung, "measurement begin");
440 SetDlgItemText(hwnd, id_STEText, "statistical error:");
441 SetDlgItemText(hwnd, id_CRTText, "counter time:");
442 SetDlgItemText(hwnd, id_INCDFText, "inc. DF:");
443 SetDlgItemText(hwnd, id_NBEXPOSText, "number exposure:");
444 SetDlgItemText(hwnd, id_ABEText, "angle between exposure:");
445 SetDlgItemText(hwnd, id_RSAText, "smallest angle:");
446 SetDlgItemText(hwnd, id_CONLIMITText, "con. limit:");
447 SetDlgItemText(hwnd, id_CONPOINTText, "con. point:");
448 SetDlgItemText(hwnd, id_EXPTText, "exposure time:");
449
450 SetDlgItemText(hwnd, id_GruppeEndeMessung, "measurement end");
451 SetDlgItemText(hwnd, id_GruppeRegelung, "regulation");
452 SetDlgItemText(hwnd, id_ImpsvorText, "impulse/s before measurement:");
453 SetDlgItemText(hwnd, id_ImpsnachText, "impulse/s after measurement:");
454 SetDlgItemText(hwnd, id_DFvorText, "DF before measurement:");
455 SetDlgItemText(hwnd, id_DFnachText, "DF after measurement:");
456 SetDlgItemText(hwnd, id_BemerkungText, "comment:");
457 break;
458 }
459 };
460
461 void TProtocolLanguage::SetDiffractometryDlgLanguage(HWND hwnd, int id)
462 {
463 SetDlgLanguage(id);
464 SetDiffractometryDlgLanguage(hwnd);
465 };
466
467 void TProtocolLanguage::SetDiffractometryDlgLanguage(HWND hwnd)
468 {
469 int iTab=0;
470 HWND hTab= GetDlgItem( hwnd, id_Tab );
471
472 switch (ProtocolLanguage)
473 {
474 case german:
475 SetWindowText(hwnd, "Protokollbuch Diffraktometrie/Reflektometrie (deutsch)");
476 SetProtocolDlgLanguage(hwnd);
477
478 TabCtrl_SetItemText(hTab, iTab++, "Messung");
479 TabCtrl_SetItemText(hTab, iTab++, "Scan");
480 TabCtrl_SetItemText(hTab, iTab++, "Blende/Absorber");
481 TabCtrl_SetItemText(hTab, iTab++, "Detektoren");
482 TabCtrl_SetItemText(hTab, iTab++, "Bemerkung");
483
484 SetDlgItemText(hwnd, id_LfdNrText, "Lfd.-Nr.:");
485 SetDlgItemText(hwnd, id_OrientierungText, "Orientierung:");
486 SetDlgItemText(hwnd, id_UReflexText, "Untersuchter Reflex:");
487 SetDlgItemText(hwnd, id_FehlWinkelText, "Winkel:");
488 SetDlgItemText(hwnd, id_FehlWinkelEinheit, "Grad");
489 SetDlgItemText(hwnd, id_FehlRichtungText, "Richtung:");
490 SetDlgItemText(hwnd, id_GruppeScanart, "Scan");
491 SetDlgItemText(hwnd, id_GruppeFehlschnitt, "Fehlschnitt");
492 SetDlgItemText(hwnd, id_ScanartText, "Scanart:");
493 SetDlgItemText(hwnd, id_ScanmethodeText, "Scanmethode:");
494
495 SetDlgItemText(hwnd, id_GruppeMessungParameter, "Messung");
496 SetDlgItemText(hwnd, id_SpannungText, "Spannung:");
497 SetDlgItemText(hwnd, id_StromText, "Strom:");
498 SetDlgItemText(hwnd, id_WellenlaengeText, "Wellenlänge:");
499 SetDlgItemText(hwnd, id_MessdateiText, "Messdateiname:");
500
501 SetDlgItemText(hwnd, id_GruppeScan, "Scan");
502 SetDlgItemText(hwnd, id_ScantypText, "Scantyp:");
503 SetDlgItemText(hwnd, id_ScanachseText, "Scanachse:");
504 SetDlgItemText(hwnd, id_SOffsetText, "Offset:");
505 SetDlgItemText(hwnd, id_GeschwindigkeitText, "Geschwindigkeit:");
506 SetDlgItemText(hwnd, id_Scanachse1, "Omega-Achse");
507 SetDlgItemText(hwnd, id_Scanachse2, "Theta-Achse");
508
509 SetDlgItemText(hwnd, id_GruppeBlende, "Blende");
510 SetDlgItemText(hwnd, id_GruppeAbsorber, "Absorber");
511 SetDlgItemText(hwnd, id_BPSText, "Primärstrahl:");
512 SetDlgItemText(hwnd, id_BhorizontalText, "horizontal:");
513 SetDlgItemText(hwnd, id_BvertikalText, "vertikal:");
514 SetDlgItemText(hwnd, id_BDText, "Detektor:");
515 SetDlgItemText(hwnd, id_AFaktorText, "Faktor:");
516 SetDlgItemText(hwnd, id_AArtText, "Art:");
517
518 SetDlgItemText(hwnd, id_GruppeDetektor, "Detektoren");
519 SetDlgItemText(hwnd, id_GruppePSD, "PSD");
520 SetDlgItemText(hwnd, id_DetektorText, "Detektor:");
521 SetDlgItemText(hwnd, id_MesszeitText, "Meßzeit:");
522 SetDlgItemText(hwnd, id_ImpulseText, "Impulse:");
523 SetDlgItemText(hwnd, id_DistanzText, "Distanz:");
524 SetDlgItemText(hwnd, id_MesskanalText, "Meßkanalnr.:");
525 SetDlgItemText(hwnd, id_WinkelbereichText, "Winkelbereich:");
526 SetDlgItemText(hwnd, id_WinkelbereichEinheit, "Grad");
527 SetDlgItemText(hwnd, id_KanalabstandText, "Kanalabstand:");
528 SetDlgItemText(hwnd, id_KanalabstandEinheit, "Grad");
529 SetDlgItemText(hwnd, id_AddiereText, "Addiere:");
530 SetDlgItemText(hwnd, id_AddiereEinheit, "Kanäle");
531 SetDlgItemText(hwnd, id_MonitorText, "Monitordetektor:");
532
533 SetDlgItemText(hwnd, id_GruppeBemerkung, "Bemerkung");
534 break;
535
536 case english:
537 SetWindowText(hwnd, "protocol diffractometry/reflectometry (english)");
538 SetProtocolDlgLanguage(hwnd);
539
540 TabCtrl_SetItemText(hTab, iTab++, "measurement");
541 TabCtrl_SetItemText(hTab, iTab++, "scan");
542 TabCtrl_SetItemText(hTab, iTab++, "aperture/absorber");
543 TabCtrl_SetItemText(hTab, iTab++, "detector");
544 TabCtrl_SetItemText(hTab, iTab++, "comment");
545
546 SetDlgItemText(hwnd, id_LfdNrText, "lfd.-nr.:");
547 SetDlgItemText(hwnd, id_OrientierungText, "orientation:");
548 SetDlgItemText(hwnd, id_UReflexText, "inspected reflex:");
549 SetDlgItemText(hwnd, id_FehlWinkelText, "angle:");
550 SetDlgItemText(hwnd, id_FehlWinkelEinheit, "degree");
551 SetDlgItemText(hwnd, id_FehlRichtungText, "direction:");
552 SetDlgItemText(hwnd, id_GruppeScanart, "scan");
553 SetDlgItemText(hwnd, id_GruppeFehlschnitt, "false cut");
554 SetDlgItemText(hwnd, id_ScanartText, "class:"); // scan class:
555 SetDlgItemText(hwnd, id_ScanmethodeText, "methode:"); //scan methode:
556
557 SetDlgItemText(hwnd, id_GruppeMessungParameter, "measurement");
558 SetDlgItemText(hwnd, id_SpannungText, "voltage:");
559 SetDlgItemText(hwnd, id_StromText, "power:");
560 SetDlgItemText(hwnd, id_WellenlaengeText, "wavelength:");
561 SetDlgItemText(hwnd, id_MessdateiText, "file name:");
562
563 SetDlgItemText(hwnd, id_GruppeScan, "scan");
564 SetDlgItemText(hwnd, id_ScantypText, "scan typ:");
565 SetDlgItemText(hwnd, id_ScanachseText, "scan axis:");
566 SetDlgItemText(hwnd, id_SOffsetText, "offset:");
567 SetDlgItemText(hwnd, id_MinimumText, "minimum:");
568 SetDlgItemText(hwnd, id_MaximumText, "maximum:");
569 SetDlgItemText(hwnd, id_SchrittweiteText, "step wide:");
570 SetDlgItemText(hwnd, id_GeschwindigkeitText, "velocity:");
571 SetDlgItemText(hwnd, id_Scanachse1, "omega-axis");
572 SetDlgItemText(hwnd, id_Scanachse2, "theta-axis");
573
574 SetDlgItemText(hwnd, id_GruppeBlende, "aperture");
575 SetDlgItemText(hwnd, id_GruppeAbsorber, "absorber");
576 SetDlgItemText(hwnd, id_BPSText, "primary ray:");
577 SetDlgItemText(hwnd, id_BhorizontalText, "horizontal:");
578 SetDlgItemText(hwnd, id_BvertikalText, "vertical:");
579 SetDlgItemText(hwnd, id_BDText, "detector:");
580 SetDlgItemText(hwnd, id_AFaktorText, "factor:");
581 SetDlgItemText(hwnd, id_AArtText, "class:");
582
583 SetDlgItemText(hwnd, id_GruppeDetektor, "detector");
584 SetDlgItemText(hwnd, id_GruppePSD, "PSD");
585 SetDlgItemText(hwnd, id_DetektorText, "detector:");
586 SetDlgItemText(hwnd, id_MesszeitText, "time:"); //measurement time:
587 SetDlgItemText(hwnd, id_ImpulseText, "impuls:");
588 SetDlgItemText(hwnd, id_DistanzText, "distance:");
589 SetDlgItemText(hwnd, id_MesskanalText, "channel nr.:");
590 SetDlgItemText(hwnd, id_WinkelbereichText, "angle range:");
591 SetDlgItemText(hwnd, id_WinkelbereichEinheit, "degree");
592 SetDlgItemText(hwnd, id_KanalabstandText, "channel space:");
593 SetDlgItemText(hwnd, id_KanalabstandEinheit, "degree");
594 SetDlgItemText(hwnd, id_AddiereText, "add:");
595 SetDlgItemText(hwnd, id_AddiereEinheit, "channel");
596 SetDlgItemText(hwnd, id_MonitorText, "monitor:");
597
598 SetDlgItemText(hwnd, id_GruppeBemerkung, "comment");
599 break;
600 }
601 TranslateParameter(hwnd, id_MinimumText); // Minimum:
602 TranslateParameter(hwnd, id_MaximumText); // Maximum:
603 TranslateParameter(hwnd, id_SchrittweiteText); // Schrittweite:
604 };
605
606 void TProtocolLanguage::SetProtocolManagePrintDlgLanguage(HWND hwnd)
607 {
608 switch (ProtocolLanguage)
609 {
610 case german:
611 SetDlgItemText(hwnd, id_GruppeSuchkriterien, "Suchkriterien");
612 SetDlgItemText(hwnd, id_GruppeSuchergebnis, "Suchergebnis:");
613 SetDlgItemText(hwnd, id_GruppeProtocolFile, "Protokolldatei");
614 SetDlgItemText(hwnd, id_PrnDatumText, "Datum von-bis:");
615 SetDlgItemText(hwnd, id_PrnProbenNrText, "Probennummer:");
616 SetDlgItemText(hwnd, id_PrnMaterialText, "Material:");
617 SetDlgItemText(hwnd, id_Delete, "Gelöschte Messungen anzeigen");
618 SetDlgItemText(hwnd, IDPRINT, "&Drucken");
619 SetDlgItemText(hwnd, IDVIEW, "&Anzeigen");
620 SetDlgItemText(hwnd, IDDELETE, "&Löschen");
621 SetDlgItemText(hwnd, IDIMPORT, "&Importieren");
622 SetDlgItemText(hwnd, id_Parameter, "&Einstellungen");
623 SetDlgItemText(hwnd, IDCANCEL, "S&chließen");
624 SetDlgItemText(hwnd, IDSEARCH, "&Suchen");
625 SetDlgItemText(hwnd, id_SuchList, "Suchen");
626 break;
627
628 case english:
629 SetDlgItemText(hwnd, id_GruppeSuchkriterien, "search criteria");
630 SetDlgItemText(hwnd, id_GruppeSuchergebnis, "search result:");
631 SetDlgItemText(hwnd, id_GruppeProtocolFile, "protocol file");
632 SetDlgItemText(hwnd, id_PrnDatumText, "date from-untill:");
633 SetDlgItemText(hwnd, id_PrnProbenNrText, "specimen number:");
634 SetDlgItemText(hwnd, id_PrnMaterialText, "material:");
635 SetDlgItemText(hwnd, id_Delete, "deleted measurement indicate");
636 SetDlgItemText(hwnd, IDPRINT, "&print");
637 SetDlgItemText(hwnd, IDVIEW, "&indicate");
638 SetDlgItemText(hwnd, IDDELETE, "&delete");
639 SetDlgItemText(hwnd, IDIMPORT, "&import");
640 SetDlgItemText(hwnd, id_Parameter, "¶meter");
641 SetDlgItemText(hwnd, IDCANCEL, "&close");
642 SetDlgItemText(hwnd, IDSEARCH, "&search");
643 SetDlgItemText(hwnd, id_SuchList, "search");
644 break;
645 }
646 };
647
648 void TProtocolLanguage::SetTopographyManagePrintDlgLanguage(HWND hwnd)
649 {
650 int iCol=0;
651 HWND hSuchList= GetDlgItem( hwnd, id_SuchList );
652
653 switch (ProtocolLanguage)
654 {
655 case german:
656 ListView_SetColumnText(hSuchList, iCol++, "Lfd.-Nr.");
657 ListView_SetColumnText(hSuchList, iCol++, "-");
658 ListView_SetColumnText(hSuchList, iCol++, "RTK-Nr.");
659 ListView_SetColumnText(hSuchList, iCol++, "Datum");
660 ListView_SetColumnText(hSuchList, iCol++, "Probennummer");
661 ListView_SetColumnText(hSuchList, iCol++, "Lieferant");
662 ListView_SetColumnText(hSuchList, iCol++, "Material");
663
664 SetWindowText(hwnd, "Protokollbuch Topographie - Verwalten/Drucken (deutsch)");
665 SetDlgItemText(hwnd, id_PrnLfdNrText, "Lfd.-RTK-Nr.:");
666 SetDlgItemText(hwnd, id_PrnLieferantText, "Lieferant:");
667 SetProtocolManagePrintDlgLanguage(hwnd);
668 break;
669
670 case english:
671 ListView_SetColumnText(hSuchList, iCol++, "lfd.-nr.");
672 ListView_SetColumnText(hSuchList, iCol++, "-");
673 ListView_SetColumnText(hSuchList, iCol++, "rtk-nr.");
674 ListView_SetColumnText(hSuchList, iCol++, "date");
675 ListView_SetColumnText(hSuchList, iCol++, "specimen number");
676 ListView_SetColumnText(hSuchList, iCol++, "provider");
677 ListView_SetColumnText(hSuchList, iCol++, "material");
678
679 SetWindowText(hwnd, "protocol topography - manage/print (english)");
680 SetDlgItemText(hwnd, id_PrnLfdNrText, "lfd.-rtk-nr.:");
681 SetDlgItemText(hwnd, id_PrnLieferantText, "provider:");
682 SetProtocolManagePrintDlgLanguage(hwnd);
683 break;
684 }
685 };
686
687 void TProtocolLanguage::SetDiffractometryManagePrintDlgLanguage(HWND hwnd)
688 {
689 int iCol=0;
690 HWND hSuchList= GetDlgItem( hwnd, id_SuchList );
691
692 switch (ProtocolLanguage)
693 {
694 case german:
695 ListView_SetColumnText(hSuchList, iCol++, "Lfd.-Nr.");
696 ListView_SetColumnText(hSuchList, iCol++, "Datum");
697 ListView_SetColumnText(hSuchList, iCol++, "Probennummer");
698 ListView_SetColumnText(hSuchList, iCol++, "Material");
699
700 SetWindowText(hwnd, "Protokollbuch Diffraktometrie/Reflektometrie - Verwalten/Drucken (deutsch)");
701 SetDlgItemText(hwnd, id_PrnLfdNrText, "Lfd.-Nr.:");
702 SetProtocolManagePrintDlgLanguage(hwnd);
703 break;
704
705 case english:
706 ListView_SetColumnText(hSuchList, iCol++, "lfd.-nr.");
707 ListView_SetColumnText(hSuchList, iCol++, "date");
708 ListView_SetColumnText(hSuchList, iCol++, "specimen number");
709 ListView_SetColumnText(hSuchList, iCol++, "material");
710
711 SetWindowText(hwnd, "protocol diffractometry/reflectometry - manage/print (english)");
712 SetDlgItemText(hwnd, id_PrnLfdNrText, "lfd.-nr.:");
713 SetProtocolManagePrintDlgLanguage(hwnd);
714 break;
715 }
716 };
717
718 void TProtocolLanguage::SetPasswortDlgLanguage(HWND hwnd)
719 {
720 switch (ProtocolLanguage)
721 {
722 case german:
723 SetWindowText(hwnd, "Bitte Passwort eingeben");
724 SetDlgItemText(hwnd, IDOK, "&Ok");
725 SetDlgItemText(hwnd, IDCANCEL, "&Abbruch");
726 break;
727
728 case english:
729 SetWindowText(hwnd, "enter password");
730 SetDlgItemText(hwnd, IDOK, "&ok");
731 SetDlgItemText(hwnd, IDCANCEL, "&cancel");
732 break;
733 }
734 };
735
736 void TProtocolLanguage::SetParameterDlgLanguage(HWND hwnd)
737 {
738 switch (ProtocolLanguage)
739 {
740 case german:
741 SetWindowText(hwnd, "Protokollbuch Einstellungen");
742 SetDlgItemText(hwnd, id_Warnung, "Diese Einstellungen sollten normalerweise NICHT geändert werden! Bitte lesen Sie dazu im Benutzerleitfaden den Abschnitt 'Protokollbuch Einstellungen'!");
743 SetDlgItemText(hwnd, id_GruppeProtocolFile, "Protokolldatei");
744 SetDlgItemText(hwnd, id_ProtoFileText, "Protokolldatei:");
745 SetDlgItemText(hwnd, id_ProtoBackupPathText, "Backup-Verzeichnis:");
746 SetDlgItemText(hwnd, id_GruppeSortParameter, "Sortierparameter");
747 SetDlgItemText(hwnd, id_SortLfdNr, "Sortieren nach Lfd.-Nr.");
748 SetDlgItemText(hwnd, id_SortDate, "Sortieren nach Datum");
749 SetDlgItemText(hwnd, id_NoSortNew, "Neue Messungen NICHT sortieren");
750 SetDlgItemText(hwnd, id_Durchsuchen, "Durchsuchen");
751 SetDlgItemText(hwnd, IDOK, "&Ok");
752 SetDlgItemText(hwnd, IDCANCEL, "&Abbruch");
753 break;
754
755 case english:
756 SetWindowText(hwnd, "protocol parameter");
757 SetDlgItemText(hwnd, id_Warnung, "These parameter should NOT be changed normally! Please you read the section 'Protokollbuch Einstellungen' in addition in the user manual!");
758 SetDlgItemText(hwnd, id_GruppeProtocolFile, "protocol file");
759 SetDlgItemText(hwnd, id_ProtoFileText, "protocol file");
760 SetDlgItemText(hwnd, id_ProtoBackupPathText, "backup directory");
761 SetDlgItemText(hwnd, id_GruppeSortParameter, "sort parameter");
762 SetDlgItemText(hwnd, id_SortLfdNr, "sort according to lfd.-nr.");
763 SetDlgItemText(hwnd, id_SortDate, "sort according to date");
764 SetDlgItemText(hwnd, id_NoSortNew, "no sort new entry");
765 SetDlgItemText(hwnd, id_Durchsuchen, "search");
766 SetDlgItemText(hwnd, IDOK, "&ok");
767 SetDlgItemText(hwnd, IDCANCEL, "&cancel");
768 break;
769 }
770 };
771
772 void TProtocolLanguage::TranslateParameter( HWND hwnd, int id )
773 {
774 char buf[MaxString];
775
776 GetDlgItemText(hwnd, id, buf, MaxString);
777 SetDlgItemText(hwnd, id, TranslateParameter(buf));
778 };
779
780 LPCSTR TProtocolLanguage::TranslateParameter( LPCSTR Parameter )
781 {
782 strcpy(lParameter, Parameter);
783 switch (ProtocolLanguage)
784 {
785 case german:
786 if (strcmp(lParameter, "start:") == 0)
787 return strcpy(lParameter, "Start:");
788 if (strcmp(lParameter, "end:") == 0)
789 return strcpy(lParameter, "Ende:");
790 if (strcmp(lParameter, "range:") == 0)
791 return strcpy(lParameter, "Bereichsgröße:");
792 if (strcmp(lParameter, "minimum:") == 0)
793 return strcpy(lParameter, "Minimum:");
794 if (strcmp(lParameter, "maximum:") == 0)
795 return strcpy(lParameter, "Maximum:");
796 if (strcmp(lParameter, "step wide:") == 0)
797 return strcpy(lParameter, "Schrittweite:");
798 break;
799
800 case english:
801 if (strcmp(lParameter, "Start:") == 0)
802 return strcpy(lParameter, "start:");
803 if (strcmp(lParameter, "Ende:") == 0)
804 return strcpy(lParameter, "end:");
805 if (strcmp(lParameter, "Bereichsgröße:") == 0)
806 return strcpy(lParameter, "range:");
807 if (strcmp(lParameter, "Minimum:") == 0)
808 return strcpy(lParameter, "minimum:");
809 if (strcmp(lParameter, "Maximum:") == 0)
810 return strcpy(lParameter, "maximum:");
811 if (strcmp(lParameter, "Schrittweite:") == 0)
812 return strcpy(lParameter, "step wide:");
813 break;
814
815 }
816 return Parameter;
817 };
818
819 void TProtocolLanguage::TabCtrl_SetItemText( HWND hTabCtrl, int iTab, LPCSTR TabText )
820 {
821 TCITEM titem;
822 char buf[MaxString];
823
824 titem.mask= TCIF_TEXT;
825 titem.pszText= buf;
826 titem.cchTextMax= MaxString;
827 titem.iImage= -1;
828
829 strcpy(buf,TabText);
830 TabCtrl_SetItem(hTabCtrl, iTab, &titem);
831 };
832
833 void TProtocolLanguage::ListView_SetColumnText( HWND hLVCtrl, int iCol, LPCSTR ColText )
834 {
835 LV_COLUMN lvc;
836 char buf[MaxString];
837
838 // Initialize the LV_COLUMN structure.
839 lvc.mask= LVCF_TEXT | LVCF_FMT;
840 lvc.fmt= LVCFMT_LEFT;
841 lvc.pszText= buf;
842
843 lvc.iSubItem= iCol;
844 strcpy(buf,ColText);
845 ListView_SetColumn(hLVCtrl, iCol, &lvc);
846
847 ListView_SetColumnWidth(hLVCtrl,iCol,LVSCW_AUTOSIZE_USEHEADER);
848 };
849
850
851 // LastLine
852