00001
00002
00015 #define STRINGTABLE_C
00016
00017
00019
00021
00022 #include "TCPIP.h"
00023 #include "stringtable.h"
00024
00025
00026
00027
00028
00029
00030 typedef struct
00031 {
00032 ROM char * pString;
00033 } STRING_POINTER;
00034
00035
00036
00037
00038
00039
00040 ROM STRING_POINTER _asROMStringListDe[] =
00041 {
00042
00043 {"Deutsch"},
00044
00045 {"Verbunden mit"},
00046
00047 {"Allokiere"},
00048
00049 {"IP-Adresse"},
00050
00051 {"Adresskonflikt"},
00052
00053 {"festgestellt!"},
00054
00055 {"Netzwerkkabel"},
00056
00057 {"wurde entfernt!"},
00058
00059 {"Zugewiesene IP:"},
00060
00061 {"Namensdienst"},
00062
00063 {"gestoppt!"},
00064
00065 {"Suche"},
00066
00067 {"Verbinde zu"},
00068
00069 {"Verbindung wurde"},
00070
00071 {"geschlossen!"},
00072
00073 {"Daten nicht"},
00074
00075 {"gespeichert."},
00076
00077 {"- IP Men\x81 -"},
00078
00079 {"IP-Zuweisung"},
00080
00081 {"Manuell"},
00082
00083 {"Automatisch"},
00084
00085 {"Subnetzmaske"},
00086
00087 {"Gateway"},
00088
00089 {"- Server Men\x81 -"},
00090
00091 {"Finde Server per"},
00092
00093 {"Netzwerkname"},
00094
00095 {"Netzwerkdienst"},
00096
00097 {"Serveradresse"},
00098
00099 {"Servername"},
00100
00101 {"Dienstname"},
00102
00103 {"Port"},
00104
00105 {"Port auf"},
00106
00107 {"%hu gesetzt!"},
00108
00109 {"Daten wurden"},
00110
00111 {"Protokoll"},
00112
00113 {"Adresse"},
00114
00115 {"Zugriff"},
00116
00117 {"Normal"},
00118
00119 {"Exklusiv"},
00120
00121 {"Kein Ger\x84t."},
00122
00123 {"Server meldet"},
00124
00125 {"Fehlercode %hu."},
00126
00127 {"Serverversion"},
00128
00129 {"unbekannt!"},
00130
00131 {"Srv: Version"},
00132
00133 {"Srv: Modus"},
00134
00135 {"Srv: Ungen\x81-"},
00136
00137 {"gende Angaben!"},
00138
00139 {"Srv: Unbekanntes"},
00140
00141 {"Kommando!"},
00142
00143 {"Srv: Keine Res-"},
00144
00145 {"sourcen frei!"},
00146
00147 {"Server hat"},
00148
00149 {"Ger\x84t beendet!"},
00150
00151 {"Inaktiv"},
00152
00153 {"Aktiv"},
00154
00155 {"Per Klick"},
00156
00157 {"Nullpunkt"},
00158
00159 {"An"},
00160
00161 {"Aus"},
00162
00163 {"Firmware-Version"},
00164
00165 {"MAC-Adresse"},
00166
00167 {"Verbindung"},
00168
00169 {"LCD-Beleuchtung aus nach"},
00170
00171 {"Werte ändern"},
00172
00173 {"Neustart"},
00174
00175 {"Zurücksetzen auf Werkseinstellungen"},
00176
00177 {"Umschalten der Fahrtrichtung"},
00178
00179 {"Lokprotokollabfrage"},
00180
00181 {"Standardlokprotokoll"},
00182
00183 {"Protokolle"},
00184
00185 {"Name"},
00186
00187 {"Bus"},
00188
00189 {"Min. Adresse"},
00190
00191 {"Max. Adresse"},
00192
00193 {"Anzahl Geschw.-Stufen"},
00194
00195 {"Anzahl Funktionen"},
00196
00197 {"Nr."},
00198
00199 {"Ok"},
00200
00201 {"Zurücksetzen"},
00202
00203 {"Zubehöreinschaltdauer<br>(-1 = Dauerhaft)"},
00204
00205 {"Min. Port"},
00206
00207 {"Max. Port"},
00208
00209 {"Sprache"},
00210
00211 {"Serverspeicher"},
00212
00213 {"ist leer!"},
00214
00215 {"Bus Adresse"},
00216
00217 {"Lokprotokolle"},
00218
00219 {"Lokdatenbank"},
00220
00221 {"Zubehörprotokolle"},
00222
00223 {"Zubehördatenbank"},
00224
00225 {"Konfiguration"},
00226
00227 {"STATUS"},
00228
00229 {"ALLGEMEIN"},
00230
00231 {"SRCP"},
00232
00233 {"DATEI"},
00234
00235 {"Zubehörprotokollabfrage"},
00236
00237 {"Standardzubehörprotokoll"},
00238
00239 {"Die Konfiguration als XML Datei."},
00240
00241 {"Allgemeiner"},
00242
00243 {"Fehler: %hhu"},
00244
00245 {"Datenbank"},
00246
00247 {"Position %u"},
00248
00249 {"Konfigurieren"},
00250
00251 {"Höchstgeschwindigkeit"},
00252
00253 {"Funktionen"},
00254
00255 {"Taster"},
00256
00257 {"Schalter"},
00258
00259 {"Protokolldaten"},
00260
00261 {"Einschaltdauer (0 = Standardwert, -1 = Dauerhaft)"},
00262
00263 {"Min. 1 Zeichen"},
00264
00265 {"Speichern"},
00266
00267 {"Hochladen einer XML Konfigurationsdatei."},
00268
00269 {"Öffnen"},
00270
00271 {"Hochladen"},
00272
00273 {"Server URL"},
00274
00275 {"Änderungen werden erst nach Neustart wirksam!"},
00276
00277 {"Manuelle IP:"},
00278
00279 {"Keine Lok!"},
00280
00281 {"Bitte warten..."},
00282
00283 {"Bootloader Version"},
00284
00285 {"Verbindungs-"},
00286
00287 {"fehler!"},
00288 };
00289
00290 ROM STRING_POINTER _asROMStringListEn[] =
00291 {
00292
00293 {"English"},
00294
00295 {"Connected with"},
00296
00297 {"Allocating"},
00298
00299 {"IP Address"},
00300
00301 {"Address conflict"},
00302
00303 {"detected!"},
00304
00305 {"Network cabel"},
00306
00307 {"is unplugged!"},
00308
00309 {"Assigned IP:"},
00310
00311 {"Name service"},
00312
00313 {"stopped!"},
00314
00315 {"Searching"},
00316
00317 {"Connecting to"},
00318
00319 {"Connection was"},
00320
00321 {"closed!"},
00322
00323 {"Data not"},
00324
00325 {"saved."},
00326
00327 {"- IP Menu -"},
00328
00329 {"IP Allocation"},
00330
00331 {"Manual"},
00332
00333 {"Automatic"},
00334
00335 {"Subnet mask"},
00336
00337 {"Gateway"},
00338
00339 {"- Server Menu -"},
00340
00341 {"Find Server via"},
00342
00343 {"Network name"},
00344
00345 {"Network service"},
00346
00347 {"Server address"},
00348
00349 {"Server name"},
00350
00351 {"Service name"},
00352
00353 {"Port"},
00354
00355 {"Set port"},
00356
00357 {"to %hu!"},
00358
00359 {"Data was"},
00360
00361 {"Protocol"},
00362
00363 {"Address"},
00364
00365 {"Access"},
00366
00367 {"Normal"},
00368
00369 {"Exclusive"},
00370
00371 {"No device."},
00372
00373 {"Server reports"},
00374
00375 {"error code %hu."},
00376
00377 {"Server version"},
00378
00379 {"unknown!"},
00380
00381 {"Srv: Version"},
00382
00383 {"Srv: Mode"},
00384
00385 {"Srv: Unsuffi-"},
00386
00387 {"cient data!"},
00388
00389 {"Srv: Unknown"},
00390
00391 {"command!"},
00392
00393 {"Srv: Out of"},
00394
00395 {"ressources!"},
00396
00397 {"Server has ter-"},
00398
00399 {"minated device!"},
00400
00401 {"Inactive"},
00402
00403 {"Active"},
00404
00405 {"Per click"},
00406
00407 {"Zero point"},
00408
00409 {"On"},
00410
00411 {"Off"},
00412
00413 {"Firmware version"},
00414
00415 {"MAC Address"},
00416
00417 {"Connection"},
00418
00419 {"LCD backlight off after"},
00420
00421 {"Change values"},
00422
00423 {"Restart"},
00424
00425 {"Reset to factory settings"},
00426
00427 {"Toggle loco direction"},
00428
00429 {"Loco protocol request"},
00430
00431 {"Standard loco protocol"},
00432
00433 {"Protocols"},
00434
00435 {"Name"},
00436
00437 {"Bus"},
00438
00439 {"Min. Address"},
00440
00441 {"Max. Address"},
00442
00443 {"No. of speed steps"},
00444
00445 {"No. of functions"},
00446
00447 {"No."},
00448
00449 {"Ok"},
00450
00451 {"Reset"},
00452
00453 {"Accessory delay<br>(-1 = infinite)"},
00454
00455 {"Min. Port"},
00456
00457 {"Max. Port"},
00458
00459 {"Language"},
00460
00461 {"Server cache"},
00462
00463 {"is empty!"},
00464
00465 {"Bus Address"},
00466
00467 {"Loco protocols"},
00468
00469 {"Loco database"},
00470
00471 {"Accessory protocols"},
00472
00473 {"Accessory database"},
00474
00475 {"Configuration"},
00476
00477 {"SYSTEM STATE"},
00478
00479 {"COMMON"},
00480
00481 {"SRCP"},
00482
00483 {"FILE"},
00484
00485 {"Accessory protocol request"},
00486
00487 {"Standard accessory protocol"},
00488
00489 {"The configuration as XML file."},
00490
00491 {"Common"},
00492
00493 {"error: %hhu"},
00494
00495 {"Database"},
00496
00497 {"position %u"},
00498
00499 {"Configure"},
00500
00501 {"Top speed"},
00502
00503 {"Functions"},
00504
00505 {"Push button"},
00506
00507 {"Switch"},
00508
00509 {"Protocol data"},
00510
00511 {"Delay (0 = default, -1 = infinite)"},
00512
00513 {"Min. 1 character"},
00514
00515 {"Save"},
00516
00517 {"Upload a configuration XML file."},
00518
00519 {"Open"},
00520
00521 {"Upload"},
00522
00523 {"Server URL"},
00524
00525 {"Changes take effect after restart!"},
00526
00527 {"Manual IP:"},
00528
00529 {"No loco!"},
00530
00531 {"Please wait..."},
00532
00533 {"Bootloader version"},
00534
00535 {"Error while"},
00536
00537 {"connecting!"},
00538 };
00539
00540 ROM STRING_POINTER _asROMStringListIndex[] =
00541 {
00542
00543 {(ROM char *)_asROMStringListDe},
00544
00545 {(ROM char *)_asROMStringListEn},
00546
00547 };
00548
00549 ROM void * s_pau8LangTable = _asROMStringListDe;
00550
00551
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561 void StrTbl_SetLanguage(BYTE u8LangId)
00562 {
00563 if ((u8LangId == LANGID_NOTSPECIFIED) || (u8LangId > LANGID_MAX))
00564 {
00565 u8LangId = LANGID_ENGLISH;
00566 }
00567
00568 s_pau8LangTable = (ROM void *)_asROMStringListIndex[u8LangId].pString;
00569 }
00570
00571
00572
00573
00574 void StrTbl_GetString(BYTE * pString, WORD u16StrId)
00575 {
00576 ROM char * pROMString;
00577 pROMString = (((ROM STRING_POINTER*)(s_pau8LangTable))+u16StrId)->pString;
00578 strcpypgm2ram(pString, pROMString);
00579 }
00580
00581
00582
00583
00584 ROM char * StrTbl_cau8GetStringPointer(WORD u16StrId)
00585 {
00586 ROM char * pROMString;
00587 pROMString = (((ROM STRING_POINTER*)(s_pau8LangTable))+u16StrId)->pString;
00588 return pROMString;
00589 }
00590
00591
00592
00593
00594 ROM char * StrTbl_cau8GetLanguageStringPointer(BYTE u8LangId, WORD u16StrId)
00595 {
00596 ROM char * pROMString;
00597 ROM void * pau8LangTable;
00598
00599 pau8LangTable = (ROM void *)_asROMStringListIndex[u8LangId].pString;
00600 pROMString = (((ROM STRING_POINTER*)(pau8LangTable))+u16StrId)->pString;
00601 return pROMString;
00602 }
00603
00604
00605
00606
00607 void StrTbl_GetStringN(BYTE * pString, BYTE u8BufferSize, WORD u16StrId)
00608 {
00609 ROM char * pROMString;
00610 pROMString = (((ROM STRING_POINTER*)(s_pau8LangTable))+u16StrId)->pString;
00611 strncpypgm2ram(pString, pROMString, u8BufferSize);
00612 }
00613
00614
00615