Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1517 - 1
/****************************************************************************************
2
 *   Copyright (C) 2011 Christian "Cebra" Brandtner, brandtner@brandtner.net            *
3
 *                                                                                      *
4
 *   This program is free software; you can redistribute it and/or modify               *
5
 *   it under the terms of the GNU General Public License as published by               *
6
 *   the Free Software Foundation; either version 2 of the License.                     *
7
 *                                                                                      *
8
 *   This program is distributed in the hope that it will be useful,                    *
9
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of                     *
10
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                      *
11
 *   GNU General Public License for more details.                                       *
12
 *                                                                                      *
13
 *   You should have received a copy of the GNU General Public License                  *
14
 *   along with this program; if not, write to the                                      *
15
 *   Free Software Foundation, Inc.,                                                    *
16
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                          *
17
 *                                                                                      *
18
 *                                                                                      *
19
 *   Languagesupport:                                                                   *
20
 *   http://www.netrino.com/Embedded-Systems/How-To/Firmware-Internationalization       *
21
 *   Nigel Jones                                                                        *
22
 ****************************************************************************************/
23
 
24
 
25
#include "cpu.h"
26
#include <avr/io.h>
27
#include <inttypes.h>
28
#include <stdlib.h>
29
#include <avr/pgmspace.h>
30
#include <avr/wdt.h>
31
#include <util/delay.h>
32
#include "lcd.h"
33
#include "timer.h"
34
#include "eeprom.h"
35
#include "messages.h"
36
 
37
 
38
 
39
 
40
typedef enum
41
    { GERMAN,ENGLISH, FRENCH, NETHERLAND, LAST_LANGUAGE }
42
    LANGUAGE;
43
 
44
 
45
 
46
typedef struct
47
{
48
    /*
49
     * Maximum length
50
     */
51
    int const len;
52
 
53
    /*
54
     * Array of pointers to language-specific string
55
     */
56
    char const * const text[LAST_LANGUAGE];
57
 
58
} STRING;
59
 
60
 
61
//--------------------------------------------------------------------------------------------------------------------
62
// Typdefinitionen für alle verwendeten Strings, LAST_STR muss am Ende stehen bleiben
63
//typedef enum
64
//{
65
//     BOOT1,BOOT2,BOOT_WI1,BOOT_WI2,BOOT_SV,START_MSG1,START_MSG2,GNU_GPL,ATMEGA644,ATMEGA644P,ATMEGA1284P,HW12,HW12W,HW13,HW13W,HW39,START_LASTPOS,START_LASTPOS1,START_LASTPOS2,START_LASTPOSDEL,
66
//     START_SEARCHFC,ENDE,START_FCNOTFOUND,START_FCFOUND,START_FCFOUND1,START_FCFOUND2,START_FCFOUND3,START_VERSIONCHECK,START_VERSIONCHECK1,
67
//     START_VERSIONCHECK2,START_VERSIONCHECK3,START_VERSIONCHECK4,START_VERSIONCHECK5,LAST_STR
68
//} STR;
69
 
70
 
71
 
72
static const STRING strings[LAST_STR] =
73
{
74
    { /*KEYLINE1*/
75
         21,
76
         {
77
             " \x1a     \x1b    Ende   OK",    /* German */
78
             " \x1a     \x1b    end    OK",    /* English*/
79
             " \x1a     \x1b    fin    OK",    /* French */
80
             " \x1a     \x1b    Einde  OK",    /* Dutch  */
81
 
82
         }
83
     },
84
     { /*KEYLINE2*/
85
          21,
86
          {
87
              " \x18     \x19    Ende   OK",    /* German */
88
              " \x18     \x19    end    OK",    /* English*/
89
              " \x18     \x19    fin    OK",    /* French */
90
              " \x18     \x19    Einde  OK",    /* Dutch  */
91
 
92
          }
93
      },
94
      { /*KEYLINE3*/
95
           21,
96
           {
97
               " \x18     \x19    Ende ",    /* German */
98
               " \x18     \x19    end  ",    /* English*/
99
               " \x18     \x19    fin  ",    /* French */
100
               " \x18     \x19    Einde",   /* Dutch  */
101
 
102
           }
103
       },
104
       { /*KEYLINE4*/
105
            21,
106
            {
107
                "Ende   OK",    /* German */
108
                "end    OK",    /* English*/
109
                "fin    OK",    /* French */
110
                "Einde  OK",    /* Dutch  */
111
 
112
            }
113
        },
114
 
115
 
116
 
117
    { /*BOOT1*/
118
         21,
119
         {
120
             "Taste 1 Sekunde",    /* German */
121
             "Keep the button",    /* English*/
122
             "Maintenez le bouton",    /* French */
123
             "Houd de knop   ",    /* Dutch  */
124
 
125
         }
126
     },
127
     { /* BOOT2*/
128
         21,
129
         {
130
             "lang festhalten.",        /* German */
131
             "pressed for 1 second",    /* English*/
1524 - 132
             "enfoncee pend. 1 sec",    /* French */
1517 - 133
             "1 seconde ingedrukt.",    /* Dutch  */
134
         }
135
     },
136
     { /*BOOT_WI1*/
137
        21,
138
        {
139
            "Verbindung zum MK ist",   /* German */
140
            "Connection to MK is",     /* English*/
141
            "Connexion à MK est",     /* French */
142
            "Verbinding met MK is",    /* Dutch  */
143
 
144
        }
145
    },
146
    { /* BOOT_WI2*/
147
        21,
148
        {
149
            "auf Wi232 eingestellt",    /* German */
150
            "set to Wi232",             /* English*/
1524 - 151
            "mis a Wi232",             /* French */
1517 - 152
            "ingesteld op Wi232",       /* Dutch  */
153
        }
154
    },
155
    { /*BOOTSV1*/
156
         21,
157
         {
158
             "auf Kabel eingestellt",  /* German */
159
             "set to kabel on SV2",    /* English*/
1524 - 160
             "mis a kabel sur SV2",    /* French */
1517 - 161
             "via kabelverbinding",    /* Dutch  */
162
 
163
         }
164
     },
165
    { /**/
166
        21,
167
        {
168
            "Portables Kopter Tool",    /* German */
169
            "Portable Kopter Tool ",    /* English*/
170
            "Portable Kopter Tool ",    /* French */
171
            "Portable Kopter Tool ",    /* Dutch  */
172
 
173
        }
174
    },
175
    { /*START_MSG2 */
176
        21,
177
        {
178
            "für FC Ver "FC_Version,    /* German */
179
            "for FC Ver "FC_Version,    /* English*/
180
            "pour FC Ver "FC_Version,    /* French */
181
            "Voor FC Ver "FC_Version,   /* Dutch  */
182
        }
183
    },
184
    { /* GNU/GPL */
185
        21,
186
        {
187
            "GNU GPL License",          /* German */
188
            "GNU GPL License",          /* English*/
189
            "GNU GPL License",          /* French */
190
            "GNU GPL License",          /* Dutch  */
191
        }
192
    },
193
    { /**/
194
        21,
195
        {
196
            "ATmega 644",          /* German */
197
            "ATmega 644",          /* English*/
198
            "ATmega 644",          /* French */
199
            "ATmega 644",          /* Dutch  */
200
        }
201
    },
202
    { /**/
203
        21,
204
        {
205
            "ATmega 644P",          /* German */
206
            "ATmega 644P",          /* English*/
207
            "ATmega 644P",          /* French */
208
            "ATmega 644P",          /* Dutch  */
209
        }
210
    },
211
    { /**/
212
        21,
213
        {
214
            "ATmega 1284P",          /* German */
215
            "ATmega 1284P",          /* English*/
216
            "ATmega 1284P",          /* French */
217
            "ATmega 1284P",          /* Dutch  */
218
        }
219
    },
220
 
221
    { /**/
222
        21,
223
        {
224
            "Hardware 1.2",          /* German */
225
            "Hardware 1.2",          /* English*/
226
            "Hardware 1.2",          /* French */
227
            "Hardware 1.2",          /* Dutch  */
228
        }
229
    },
230
    { /**/
231
        21,
232
        {
233
            "Hardware 1.2W",          /* German */
234
            "Hardware 1.2W",          /* English*/
235
            "Hardware 1.2W",          /* French */
236
            "Hardware 1.2W",          /* Dutch  */
237
        }
238
    },
239
    { /**/
240
        21,
241
        {
242
            "Hardware 1.3",          /* German */
243
            "Hardware 1.3",          /* English*/
244
            "Hardware 1.3",          /* French */
245
            "Hardware 1.3",          /* Dutch  */
246
        }
247
    },
248
    { /**/
249
        21,
250
        {
251
            "Hardware 1.3W",          /* German */
252
            "Hardware 1.3W",          /* English*/
253
            "Hardware 1.3W",          /* French */
254
            "Hardware 1.3W",          /* Dutch  */
255
        }
256
    },
257
    { /**/
258
        21,
259
        {
260
            "Hardware 3.9",          /* German */
261
            "Hardware 3.9",          /* English*/
262
            "Hardware 3.9",          /* French */
263
            "Hardware 3.9",          /* Dutch  */
264
        }
265
    },
266
    { /*START_LASTPOS*/
267
        21,
268
        {
269
            "   Letzte Position   ",    /* German */
270
            "   last   position   ",    /* English*/
1524 - 271
            "   derniere position ",    /* French */
1517 - 272
            "   Laatste positie   ",    /* Dutch  */
273
        }
274
    },
275
    { /*START_LASTPOS1*/
276
        21,
277
        {
278
            " Breitengr  Längengr ",          /* German */
279
            " latitude  longitude ",          /* English*/
280
            " latitude  longitude ",          /* French */
281
            "breedtegr. lengtegr. ",          /* Dutch  */
282
        }
283
    },
284
 
285
    { /*START_LASTPOS2*/
286
         21,
287
         {
288
             "löschen        weiter",          /* German */
289
             "delete          exit ",          /* English*/
290
             "supprimer       plus ",          /* French */
291
             "wissen         verder",          /* Dutch  */
292
         }
293
     },
294
     { /*START_LASTPOS3*/
295
          21,
296
          {
297
              "    Google Eingabe   ",          /* German */
298
              "    Google Input     ",          /* English*/
299
              "    Google Input     ",          /* French */
300
              "    Google Input     ",          /* Dutch  */
301
          }
302
      },
303
     { /*START_LASTPOSDEL*/
304
          21,
305
          {
306
              "      gelöscht       ",          /* German */
307
              "      deleted        ",          /* English*/
1524 - 308
              "     supprime        ",          /* French */
1517 - 309
              "      gewist         ",          /* Dutch  */
310
          }
311
      },
312
     { /*START_SEARCHFC*/
313
          21,
314
          {
315
              "Suche FC...",        /* German */
316
              "searching FC...",    /* English*/
317
              "cherchant FC...",    /* French */
318
              "zoek FC...",         /* Dutch  */
319
          }
320
      },
321
 
322
      { /*ENDE*/
323
          21,
324
          {
325
              "Ende ",          /* German */
326
              "end  ",          /* English*/
327
              "fin  ",          /* French */
328
              "Einde",         /* Dutch  */
329
          }
330
      },
331
      { /*OK*/
332
          21,
333
          {
334
              "Ok",          /* German */
335
              "ok",          /* English*/
336
              "ok",          /* French */
337
              "gued",         /* Dutch  */
338
          }
339
      },
340
      { /*FEHLER*/
341
          21,
342
          {
343
              "Fehler",          /* German */
344
              "error",          /* English*/
345
              "d'erreur",          /* French */
346
              "fout",         /* Dutch  */
347
          }
348
      },
349
      { /*AKTIV*/
350
          21,
351
          {
352
              "aktiv",          /* German */
353
              "activ",          /* English*/
354
              "actifs",          /* French */
355
              "actief",         /* Dutch  */
356
          }
357
      },
358
 
359
 
360
      { /*START_FCNOTFOUND*/
361
          21,
362
          {
363
              "FC nicht gefunden!",       /* German */
364
              "FC not found!",            /* English*/
1524 - 365
              "FC pas trouve!",            /* French */
1517 - 366
              "FC niet gevonden!",        /* Dutch  */
367
          }
368
      },
369
      { /*START_FCFOUND*/
370
          21,
371
          {
372
              "PKT-Tool GNU GPL",          /* German */
373
              "PKT-Tool GNU GPL",          /* English*/
374
              "PKT-Tool GNU GPL",          /* French */
375
              "PKT-Tool GNU GPL",          /* Dutch  */
376
          }
377
      },
378
      { /*START_FCFOUND1*/
379
          21,
380
          {
381
              "gefunden: ",           /* German */
382
              "found: ",              /* English*/
383
              "trouvés: ",              /* French */
384
              "gevonden: ",           /* Dutch  */
385
          }
386
      },
387
      { /*START_FCFOUND2*/
388
          21,
389
          {
390
              "Flight-Ctrl",          /* German */
391
              "Flight-Ctrl",          /* English*/
392
              "Flight-Ctrl",          /* French */
393
              "Flight-Ctrl",          /* Dutch  */
394
          }
395
      },
396
      { /*START_FCFOUND3*/
397
          21,
398
          {
399
              "Navi-Ctrl",          /* German */
400
              "Navi-Ctrl",          /* English*/
401
              "Navi-Ctrl",          /* French */
402
              "Navi-Ctrl",          /* Dutch  */
403
          }
404
      },
405
      { /*START_VERSIONCHECK*/
406
          21,
407
          {
408
              "Version: ",          /* German */
409
              "Version: ",          /* English*/
410
              "Version: ",          /* French */
411
              "Versie:  ",          /* Dutch  */
412
          }
413
      },
414
      { /*START_VERSIONCHECK1*/
415
          21,
416
          {
417
              " erwartet",          /* German */
418
              " expected",          /* English*/
419
              " attendus",          /* French */
420
              " verwacht",          /* Dutch  */
421
          }
422
      },
423
      { /*START_VERSIONCHECK2*/
424
          21,
425
          {
426
              " gefunden",              /* German */
427
              " found",                 /* English*/
1524 - 428
              " trouves",                 /* French */
1517 - 429
              " gevonden",              /* Dutch  */
430
          }
431
      },
432
      { /*START_VERSIONCHECK3*/
433
          21,
434
          {
435
              "PKT-Tool nur mit",          /* German */
436
              "PKT-Tool only with",        /* English*/
437
              "PKT uniquement avec",        /* French */
438
              "PKT-Tool alleen met",       /* Dutch  */
439
          }
440
      },
441
 
442
      { /*START_VERSIONCHECK4*/
443
          21,
444
          {
445
              "FC Software ",          /* German */
446
              "FC Software ",          /* English*/
447
              "FC Software ",          /* French */
448
              "FC Software ",          /* Dutch  */
449
          }
450
      },
451
 
452
      { /*START_VERSIONCHECK5*/
453
          21,
454
          {
455
              "kompatibel",         /* German */
456
              "compatible",         /* English*/
457
              "compatibles",         /* French */
458
              "compatibel",         /* Dutch  */
459
          }
460
      },
461
      { /*ON*/
462
          21,
463
          {
464
              "Ein  ",          /* German */
465
              "On   ",          /* English*/
466
              "Un   ",          /* French */
467
              "Aan  ",         /* Dutch  */
468
          }
469
      },
470
      { /*AUS*/
471
          21,
472
          {
473
              "Aus  ",          /* German */
474
              "Off  ",          /* English*/
475
              "Du   ",          /* French */
476
              "Uit  ",          /* Dutch  */
477
          }
478
      },
479
      { /*ESC*/
480
           21,
481
           {
482
               "ESC",          /* German */
483
               "ESC",          /* English*/
484
               "ESC",          /* French */
485
               "ESC",          /* Dutch  */
486
           }
487
       },
488
      { /*SHUTDOWN*/
489
          21,
490
          {
491
              "  PKT ausschalten?",        /* German */
492
              "  shutdown PKT ?",          /* English*/
1524 - 493
              "  desactiver PKT ?",          /* French */
1517 - 494
              "  PKT uitschakelen ?",      /* Dutch  */
495
          }
496
      },
497
      { /*YES NO*/
498
          21,
499
          {
500
              "Nein   Ja",          /* German */
501
              "no    yes",          /* English*/
502
              "non   oui",          /* French */
503
              "Nee    Ja",          /* Dutch  */
504
          }
505
      },
506
      { /*UPDATE1*/
507
          21,
508
          {
509
              "Verbinde PC mit PKT  ",          /* German */
510
              "Connect PC to PKT-USB",          /* English*/
511
              "associer PC a PKT-USB",          /* French */
512
              "Verbind PC met PKT   ",          /* Dutch  */
513
          }
514
      },
515
      { /*UPDATE2*/
516
          21,
517
          {
518
              "Drücke 'Start' am PKT",          /* German */
519
              "Press 'Start' on PKT ",          /* English*/
520
              "presse 'lancer' a PKT",          /* French */
521
              "Druk 'Start' op PKT  ",          /* Dutch  */
522
          }
523
      },
524
      { /*ENDSTART*/
525
          21,
526
          {
527
              "           Ende Start",          /* German */
528
              "           End  Start",          /* English*/
529
              "          fin  lancer",          /* French */
530
              "          Einde Start",          /* Dutch  */
531
          }
532
      },
533
      { /*TOOLS1*/
534
          21,
535
          {
536
              " PC-Quick-Verbindung ",          /* German */
537
              " PC-Quick-Connection ",          /* English*/
538
              " PC-connexion rapide ",          /* French */
539
              " Snelle PC-verbinding",          /* Dutch  */
540
          }
541
      },
542
      { /*CONNECT1,*/
543
          21,
544
          {
545
              "Verbinde das PKT mit",         /* German */
546
              "Connect PKT with MK",          /* English*/
547
              "connectez PKT a  MK",          /* French */
548
              "Verbind PKT  ",         /* Dutch  */
549
          }
550
      },
551
      { /*CONNECT2*/
552
          21,
553
          {
554
              "dem MK über:",        /* German */
555
              "   over    :",                /* English*/
556
              "  a propos :",                /* French */
557
              "   met     :",   /* Dutch  */
558
          }
559
      },
560
 
561
      { /*CONNECT4,*/
562
          21,
563
          {
564
              "dem MK über:  Kabel, ",         /* German */
565
              "over: Kabel",                   /* English*/
566
              "a propos: Cable",                   /* French */
567
              "MK via: kabel        ",         /* Dutch  */
568
          }
569
      },
570
      { /*CONNECT5*/
571
          21,
572
          {
573
              "es ist kein Wi.232",         /* German */
574
              "there is no Wi.232",          /* English*/
575
              "l n'ya pas de ",        /* French */
576
              "er is geen wi.232 ",         /* Dutch  */
577
          }
578
      },
579
      { /*CONNECT6*/
580
          21,
581
          {
582
              "Modul eingebaut.",          /* German */
583
              "built in.",                 /* English*/
1524 - 584
              "module integre Wi232",                 /* French */
1517 - 585
              "module ingebouwd.",         /* Dutch  */
586
          }
587
      },
588
      { /*CONNECT7,*/
589
          21,
590
          {
591
              "Wenn doch, dann bitte",       /* German */
592
              "if yes, then first",          /* English*/
593
              "Si vous le faites",          /* French */
594
              "zo ja, dan aub eerst",        /* Dutch  */
595
          }
596
      },
597
      { /*CONNECT8*/
598
          21,
599
          {
600
              "das Modul zuerst im  ",      /* German */
601
              "activate modul in",          /* English*/
602
              "activer le module",          /* French */
603
              "de module aktiveren",        /* Dutch  */
604
          }
605
      },
606
      { /*CONNECT9*/
607
          21,
608
          {
609
              "Setupmenü aktivieren.",     /* German */
610
              "Setupmenu",                 /* English*/
611
              "dans menu de config.",                 /* French */
612
              "in het Setupmenu.",         /* Dutch  */
613
          }
614
      },
615
      { /*CONNECT10*/
616
          21,
617
          {
618
              "Sie müssen das PKT",   /* German */
619
              "You have to",          /* English*/
620
              "Vous devez",          /* French */
621
              "U moet de PKT",        /* Dutch  */
622
          }
623
      },
624
      { /*CONNECT11*/
625
          21,
626
          {
627
              "jetzt neu starten!",   /* German */
628
              "restart PKT",          /* English*/
1524 - 629
              "redemarrer PKT",          /* French */
1517 - 630
              "nu opnieuw starten!",  /* Dutch  */
631
          }
632
      },
633
      { /*CONNECT12*/
634
          21,
635
          {
636
              "Es ist kein BTM-222",          /* German */
637
              "There is no BTM-222",          /* English*/
638
              "l n'ya pas de ",          /* French */
639
              "Er is geen BTM-222",           /* Dutch  */
640
          }
641
      },
642
      { /*CONNECT13*/
643
          21,
644
          {
645
              "Modul eingebaut",         /* German */
646
              "Modul built in",          /* English*/
1524 - 647
              "module integre BTM222",          /* French */
1517 - 648
              "module ingebouwd.",       /* Dutch  */
649
          }
650
      },
651
      { /*CONNECT14*/
652
          21,
653
          {
1524 - 654
              " MK-USB Funktion ",          /* German */
655
              " MK-USB Function ",          /* English*/
656
              " MK-USB fonction ",          /* French */
657
              " MK-USB Functie  ",          /* Dutch  */
1517 - 658
          }
659
      },
660
      { /*CONNECT15*/
661
          21,
662
          {
663
              " BT --> Kabel an FC  ",          /* German */
664
              " BT --> Kabel to FC  ",          /* English*/
665
              " BT --> Cable a  FC  ",          /* French */
666
              " BT --> kabel naar FC",          /* Dutch  */
667
          }
668
      },
669
      { /*CONNECT16*/
670
          21,
671
          {
672
              "PC mit BT verb.",          /* German */
673
              "connect PC with BT",       /* English*/
674
              "associer PC a BT",       /* French */
675
              "PC via BT verbonden.",     /* Dutch  */
676
          }
677
      },
678
      { /*CONNECT17*/
679
          21,
680
          {
681
              "PKT-Kabel an FC",          /* German */
682
              "PKT-Kabel to FC",          /* English*/
683
              "PKT-Cable a FC",          /* French */
684
              "PKT-kabel naar FC",        /* Dutch  */
685
          }
686
      },
687
      { /*CONNECT18*/
688
          21,
689
          {
690
              " BT --> Wi.232       ",          /* German */
691
              " BT --> Wi.232       ",          /* English*/
692
              " BT --> Wi.232       ",          /* French */
693
              " BT --> Wi.232       ",          /* Dutch  */
694
          }
695
      },
696
      { /*CONNECT19*/
697
          21,
698
          {
699
              "Wi.232 an FC         ",          /* German */
700
              "Wi.232 to FC         ",          /* English*/
701
              "Wi.232 a FC          ",          /* French */
702
              "Wi.232 naar FC       ",          /* Dutch  */
703
          }
704
      },
705
 
706
      { /*CONNECT20*/
707
          21,
708
          {
709
              " USB --> Kabel an FC ",          /* German */
710
              " USB --> cable to FC ",          /* English*/
711
              " USB --> cable a FC  ",          /* French */
712
              "USB --> kabel naar FC",          /* Dutch  */
713
          }
714
      },
715
      { /*CONNECT21*/
716
          21,
717
          {
718
              "PC mit USB verbinden ",          /* German */
719
              "connect PC with USB  ",          /* English*/
720
              "associer PC a USB    ",          /* French */
721
              "Verbind PC met USB   ",          /* Dutch  */
722
          }
723
      },
724
      { /*CONNECT22*/
725
          21,
726
          {
727
              " USB --> Wi.232      ",          /* German */
728
              " USB --> Wi.232      ",          /* English*/
729
              " USB --> Wi.232      ",          /* French */
730
              " USB --> Wi.232      ",          /* Dutch  */
731
          }
732
      },
733
      { /*CONNECT23*/
734
          21,
735
          {
736
              "MK-Tool starten",        /* German */
737
              "start MK-Tool",          /* English*/
1524 - 738
              "demarrage MK-Tool",          /* French */
1517 - 739
              "start MK-Tool",          /* Dutch  */
740
          }
741
      },
742
      { /*CONNECT24*/
743
          21,
744
          {
745
              " Wi.232 Konfigurieren",          /* German */
746
              " Wi.232 Configuration",          /* English*/
747
              " Wi.232 configurer   ",          /* French */
748
              " Wi.232 Configuratie ",          /* Dutch  */
749
          }
750
      },
751
      { /*CONNECT25*/
752
          21,
753
          {
754
              "Programm starten.    ",   /* German */
755
              "start program ",          /* English*/
756
              "Démarrer le programme",          /* French */
757
              "start programma.",        /* Dutch  */
758
          }
759
      },
760
 
761
      { /*CONNECT26*/
762
          21,
763
          {
764
              "BTM-222 Konfigurieren",          /* German */
765
              "BTM-222 configuration",          /* English*/
766
              "BTM-222 de configura.",          /* French */
767
              "BTM-222 configuratie",           /* Dutch  */
768
          }
769
      },
770
      { /*CONNECT27*/
771
          21,
772
          {
773
              "FC > MK-USB > BTM-222",          /* German */
774
              "FC > MK-USB > BTM-222",          /* English*/
775
              "FC > MK-USB > BTM-222",          /* French */
776
              "FC > MK-USB > BTM-222",          /* Dutch  */
777
          }
778
      },
779
      { /*CONNECT28*/
780
          21,
781
          {
782
              "MK-USB an PC anschl. ",          /* German */
783
              "connect PC to MK-USB ",          /* English*/
784
              "associer PC a MK-USB ",          /* French */
785
              "Verbind PC met MK-USB",          /* Dutch  */
786
          }
787
      },
788
      { /*CONNECT29*/
789
          21,
790
          {
791
              "Zwischen MK-USB und  ",          /* German */
792
              "connect crossed cable",          /* English*/
793
              "la connexion entre PC",          /* French */
794
              "Tussen MK-USB en PKT ",         /* Dutch  */
795
          }
796
      },
797
      { /*CONNECT30*/
798
          21,
799
          {
800
              "PKT ein gekreuztes   ",          /* German */
801
              "between MK-USB and   ",          /* English*/
1524 - 802
              "et FC un cable croise",          /* French */
1517 - 803
              "een gekruiste kabel  ",         /* Dutch  */
804
          }
805
      },
806
      { /*CONNECT31*/
807
          21,
808
          {
809
              "Kabel anschliessen.  ",        /* German */
810
              "PKT SV2",                      /* English*/
811
              " ",                      /* French */
812
              "aansluiten.",                  /* Dutch  */
813
          }
814
      },
815
 
816
 
817
 
818
 
819
 
820
      { /*Kabel*/
821
          21,
822
          {
823
              "Kabel",           /* German */
824
              "cable",           /* English*/
825
              "cable",           /* French */
826
              "Kabel",           /* Dutch  */
827
          }
828
      },
829
      { /*SLAVE*/
830
          21,
831
          {
832
              "Slave ",          /* German */
833
              "Slave ",          /* English*/
834
              "esclaves",          /* French */
835
              "Slave ",         /* Dutch  */
836
          }
837
      },
838
      { /*NORMAL*/
839
          21,
840
          {
841
              "Normal",          /* German */
842
              "Normal",          /* English*/
843
              "normal",          /* French */
844
              "Norm. ",         /* Dutch  */
845
          }
846
      },
847
      { /*Reverse*/
848
          21,
849
          {
850
              "Reverse",          /* German */
851
              "inverse",          /* English*/
852
              "inverse",          /* French */
853
              "geinver",          /* Dutch  */
854
          }
855
      },
856
      { /*ENDOK*/
857
          21,
858
          {
859
              "Ende   OK",           /* German */
860
              "End    OK",           /* English*/
861
              "Fin    OK",           /* French */
862
              "Eind   OK",           /* Dutch  */
863
          }
864
      },
865
      { /*EEPROM1*/
866
           21,
867
           {
868
               " EEProm wirklich",       /* German */
869
               " Realy delete",          /* English*/
870
               " eeprom supprimer?",          /* French */
871
               " Eeprom werkelijk",      /* Dutch  */
872
           }
873
       },
874
       { /*EEPROM2*/
875
           21,
876
           {
877
               " löschen?",          /* German */
878
               " EEprom?",           /* English*/
879
               "    ",           /* French */
880
               " wissen?",           /* Dutch  */
881
           }
882
       },
883
       { /*DEUTSCH*/
884
           21,
885
           {
886
               "deutsch    ",           /* German */
887
               "german     ",           /* English*/
888
               "allemande  ",           /* French */
889
               "duits      ",           /* Dutch  */
890
           }
891
       },
892
       { /*ENGLISCH*/
893
           21,
894
           {
895
               "englisch   ",           /* German */
896
               "english    ",           /* English*/
897
               "anglaise   ",           /* French */
898
               "engels     ",           /* Dutch  */
899
           }
900
       },
901
       { /*FRANCE*/
902
           21,
903
           {
904
               "französisch",           /* German */
905
               "french     "  ,           /* English*/
906
               "française  ",           /* French */
907
               "frans      ",        /* Dutch  */
908
           }
909
       },
910
       { /*NETHERL*/
911
           21,
912
           {
913
               "holländisch",           /* German */
914
               "dutch      ",           /* English*/
915
               "hollandaise",           /* French */
916
               "nederlands ",        /* Dutch  */
917
           }
918
       },
919
       { /*DISPLAY1*/
920
           21,
921
           {
922
               "Anzeige Einstellungen",           /* German */
923
               " Display Setup       ",           /* English*/
924
               " d'affichage config. ",           /* French */
925
               "Display instellingen ",           /* Dutch  */
926
           }
927
       },
928
       { /*DISPLAY2*/
929
           21,
930
           {
931
               "Infos bei Start:",           /* German */
932
               "Info at startup ",           /* English*/
933
               "Inf.au demarrage",           /* French */
934
               "Info bij opstart",           /* Dutch  */
935
           }
936
       },
937
       { /*DISPLAY3*/
938
           21,
939
           {
940
               "Sprache : ",           /* German */
941
               "Language: ",           /* English*/
942
               "la langue: ",           /* French */
943
               "Taal: ",               /* Dutch  */
944
           }
945
       },
946
       { /*DISPLAY4*/
947
            21,
948
            {
949
                "Licht aus nach:",          /* German */
950
                "Light off after:",         /* English*/
951
                "Exti.feux p.les:",         /* French */
952
                "Licht uit na:  ",          /* Dutch  */
953
            }
954
        },
955
        { /*DISPLAY5*/
956
            21,
957
            {
958
                "LCD Helligk.:",          /* German */
959
                " Brightness :",          /* English*/
960
                " luminosite :",          /* French */
961
                " intensiteit:",          /* Dutch  */
962
            }
963
        },
964
        { /*DISPLAY6*/
965
            21,
966
            {
967
                "LCD Kontrast:",           /* German */
968
                "LCD contrast:",           /* English*/
969
                "LCD contrast:",           /* French */
970
                "LCD contrast:",           /* Dutch  */
971
            }
972
        },
973
        { /*DISPLAY7*/
974
            21,
975
            {
976
                "LCD Norm/Inv: ",          /* German */
977
                "LCD Norm/Inv: ",          /* English*/
978
                "LCD Norm/Inv: ",          /* French */
979
                "LCD Norm/Inv: ",          /* Dutch  */
980
            }
981
        },
982
        { /*DISPLAY8*/
983
            21,
984
            {
985
                "LCD Orient.: ",          /* German */
986
                "LCD Orient.: ",          /* English*/
987
                "LCD Orient.: ",           /* French */
988
                "LCD Orient.: ",          /* Dutch  */
989
            }
990
        },
991
 
992
        { /*DEBUGPKT*/
993
            21,
994
            {
995
                "Debug PKT",          /* German */
996
                "Debug PKT",          /* English*/
997
                "Debug PKT",           /* French */
998
                "Debug PKT",          /* Dutch  */
999
            }
1000
        },
1001
 
1002
        { /*WITXRX*/
1003
            21,
1004
            {
1005
                "Wi TX/RX Chan:",          /* German */
1006
                "Wi TX/RX Chan:",          /* English*/
1007
                "Wi TX/RX Chan:",           /* French */
1008
                "Wi TX/RX Chan:",          /* Dutch  */
1009
            }
1010
        },
1011
        { /*WINETG*/
1012
            21,
1013
            {
1014
                "Wi NetW. Grp.:",          /* German */
1015
                "Wi NetW. Grp.:",          /* English*/
1016
                "Wi NetW. Grp.:",           /* French */
1017
                "Wi NetW. Grp.:",          /* Dutch  */
1018
            }
1019
        },
1020
        { /*WINETM*/
1021
            21,
1022
            {
1023
                "Wi NetW. Mode:",          /* German */
1024
                "Wi NetW. Mode:",          /* English*/
1025
                "Wi NetW. Mode:",          /* French */
1026
                "Wi NetW. Mode:",          /* Dutch  */
1027
            }
1028
        },
1029
 
1030
 
1031
        { /*WITIMEOUT*/
1032
            21,
1033
            {
1034
                "Wi TX Timeout:",          /* German */
1035
                "Wi TX Timeout:",          /* English*/
1036
                "Wi TX Timeout:",          /* French */
1037
                "Wi TX Timeout:",          /* Dutch  */
1038
            }
1039
        },
1040
 
1041
        { /*WIUART*/
1042
            21,
1043
            {
1044
                "Wi UART MTU   :",          /* German */
1045
                "Wi UART MTU   :",          /* English*/
1046
                "Wi UART MTU   :",          /* French */
1047
                "Wi UART MTU   :",          /* Dutch  */
1048
            }
1049
        },
1050
        { /*WI2321*/
1051
            21,
1052
            {
1053
                "Wi.232 eingebaut:",          /* German */
1054
                "Wi.232 built in :",          /* English*/
1524 - 1055
                "Wi.232 integre  :",          /* French */
1517 - 1056
                "Wi.232 ingebouwd:",          /* Dutch  */
1057
            }
1058
        },
1059
        { /*WI2322*/
1060
            21,
1061
            {
1062
                "Ist ein Wi.232-Modul ",   /* German */
1063
                "Is Wi232 modul",          /* English*/
1064
                "est un module ",          /* French */
1065
                "Is er een Wi.232",        /* Dutch  */
1066
            }
1067
        },
1068
        { /*WI2323*/
1069
            21,
1070
            {
1071
                "eingebaut?",          /* German */
1072
                "built in?",           /* English*/
1073
                "integre Wi232?",           /* French */
1074
                "module ingebouwd?",   /* Dutch  */
1075
            }
1076
        },
1077
        { /*YES*/
1078
            21,
1079
            {
1080
                "Ja  ",          /* German */
1081
                "yes ",          /* English*/
1082
                "oui ",          /* French */
1083
                "Ja  ",          /* Dutch  */
1084
            }
1085
        },
1086
        { /*NO*/
1087
            21,
1088
            {
1089
                "Nein",          /* German */
1090
                "no  ",          /* English*/
1091
                "non ",          /* French */
1092
                "Nee ",          /* Dutch  */
1093
            }
1094
        },
1095
        { /*BT1*/
1096
            21,
1097
            {
1098
                "BTM222 eingebaut:",          /* German */
1099
                "BTM222 built in :",          /* English*/
1100
                "BTM222 integre  :",          /* French */
1101
                "BTM222 ingebouwd:",          /* Dutch  */
1102
            }
1103
        },
1104
        { /*BT2*/
1105
            21,
1106
            {
1107
                "Ist ein BTM-222-Modul",      /* German */
1108
                "Is BTM-222 Modul",           /* English*/
1109
                "est un module ",           /* French */
1110
                "Is er een BTM-222",          /* Dutch  */
1111
            }
1112
        },
1113
        { /*BT3*/
1114
            21,
1115
            {
1116
                "eingebaut?",          /* German */
1117
                "built in?",           /* English*/
1118
                "integre BTM222?",           /* French */
1119
                "module ingebouwd?",   /* Dutch  */
1120
            }
1121
        },
1122
 
1123
        { /*LIPO1*/
1124
            21,
1125
            {
1126
                " PKT Akku Einstellung",          /* German */
1127
                " PKT Accu Setup      ",          /* English*/
1128
                " PKT Accu Setup      ",          /* French */
1129
                " PKT Accu Setup      ",          /* Dutch  */
1130
            }
1131
        },
1132
        { /*LIPO2*/
1133
            21,
1134
            {
1135
                "PKT Akkutyp: ",           /* German */
1136
                "PKT Accutyp: ",           /* English*/
1137
                "PKT Accutyp: ",           /* French */
1138
                "PKT Accutype: ",          /* Dutch  */
1139
            }
1140
        },
1141
        { /*LIPO3*/
1142
            21,
1143
            {
1144
                "Akku U Offset: ",           /* German */
1145
                "Accu U Offset: ",           /* English*/
1146
                "Accu U Offset: ",           /* French */
1147
                "Accu U Offset: ",           /* Dutch  */
1148
            }
1149
        },
1150
        { /*LIPO4*/
1151
            21,
1152
            {
1153
                "PKT Akkutyp: ",           /* German */
1154
                "PKT Accutyp: ",           /* English*/
1155
                "PKT Accutyp: ",           /* French */
1156
                "PKT Accutype: ",          /* Dutch  */
1157
            }
1158
        },
1159
        { /*LIPO5*/
1160
            21,
1161
            {
1162
                "Offset verstellen bis",         /* German */
1163
                "adjust offset until",           /* English*/
1164
                "Decalage l'ajuster ",           /* French */
1165
                "Offset afregelen tot",          /* Dutch  */
1166
            }
1167
        },
1168
        { /*LIPO6*/
1169
            21,
1170
            {
1171
                "die Spannung passt",     /* German */
1172
                "voltage fits",           /* English*/
1173
                "a la tension",           /* French */
1174
                "de spanning juist is.",  /* Dutch  */
1175
            }
1176
        },
1177
        { /*LOWBAT*/
1178
            21,
1179
            {
1180
                "LowBat Warn V:",          /* German */
1181
                "LowBat Warn V:",          /* English*/
1182
                "LowBat Warn V:",          /* French */
1183
                "LowBat alarm :",      /* Dutch  */
1184
            }
1185
        },
1186
        { /*OSD_V, vorne*/
1187
            21,
1188
            {
1189
                "V",          /* German */
1190
                "F",          /* English*/
1191
                "L",          /* French */
1192
                "F",      /* Dutch  */
1193
            }
1194
        },
1195
 
1196
        { /*OSD_H, hinten*/
1197
            21,
1198
            {
1199
                "H",          /* German */
1200
                "B",          /* English*/
1201
                "D",          /* French */
1202
                "A",      /* Dutch  */
1203
            }
1204
        },
1205
        { /*OSD_L, links*/
1206
            21,
1207
            {
1208
                "L",          /* German */
1209
                "L",          /* English*/
1210
                "G",          /* French */
1211
                "L",      /* Dutch  */
1212
            }
1213
        },
1214
 
1215
        { /*OSD_R, rechts*/
1216
            21,
1217
            {
1218
                "R",          /* German */
1219
                "R",          /* English*/
1220
                "D",          /* French */
1221
                "R",      /* Dutch  */
1222
            }
1223
        },
1224
 
1225
        { /*OSD_ERROR*/
1226
            21,
1227
            {
1228
                "FEHLER: Datenverlust ",          /* German */
1229
                "ERROR: Data lost",          /* English*/
1524 - 1230
                "perte de donnees",          /* French */
1231
                "verbinding verbroken ",      /* Dutch  */
1517 - 1232
            }
1233
        },
1234
        { /*OSD_POS1*/
1235
            21,
1236
            {
1237
                "Letzte bekannte",          /* German */
1238
                "Last known ",          /* English*/
1524 - 1239
                "Derniere position",          /* French */
1517 - 1240
                "Laatst bekende",      /* Dutch  */
1241
            }
1242
        },
1243
 
1244
        { /*OSD_POS2*/
1245
            21,
1246
            {
1524 - 1247
                "Position ",          /* German */
1248
                "position ",          /* English*/
1249
                "",          /* French */
1250
                "positie ",      /* Dutch  */
1517 - 1251
            }
1252
        },
1253
        { /*PARA_SETTINGS*/
1254
            21,
1255
            {
1256
                " Einstellungen x     ",          /* German */
1257
                " Setting x           ",          /* English*/
1524 - 1258
                " Parametres x        ",          /* French */
1517 - 1259
                " Instellingen x      ",      /* Dutch  */
1260
            }
1261
        },
1262
        { /*PARA_CHANGE*/
1263
            21,
1264
            {
1265
                "ändern",          /* German */
1266
                "change",          /* English*/
1267
                "le changement",          /* French */
1268
                "verandering",      /* Dutch  */
1269
            }
1270
        },
1271
 
1272
        { /*PARA_AKTIVI*/
1273
            21,
1274
            {
1275
                "aktivieren",          /* German */
1276
                "activate",          /* English*/
1277
                "activer",          /* French */
1278
                "activeren",      /* Dutch  */
1279
            }
1280
        },
1281
 
1282
        { /*PARA_AKTIV*/
1283
            21,
1284
            {
1285
                "aktiviert",          /* German */
1286
                "activated",          /* English*/
1524 - 1287
                "activee",          /* French */
1517 - 1288
                "geactiveerd",      /* Dutch  */
1289
            }
1290
        },
1291
        { /*PARA_SAVESETT*/
1292
            21,
1293
            {
1294
                " Setting x speichern?",          /* German */
1295
                " store setting?",          /* English*/
1524 - 1296
                " Reglage magasin?",          /* French */
1517 - 1297
                " instell.op te slaan?",      /* Dutch  */
1298
            }
1299
        },
1300
 
1301
        { /*PARA_SETTSAVED*/
1302
            21,
1303
            {
1304
                "Gespeichert und",          /* German */
1305
                "stored and",          /* English*/
1524 - 1306
                "stockes et",          /* French */
1517 - 1307
                "opgeslagen en",      /* Dutch  */
1308
            }
1309
        },
1310
        { /*PARA_COPY*/
1311
            21,
1312
            {
1313
                "Kopiere Setting",          /* German */
1314
                "copy settings",          /* English*/
1524 - 1315
                "parametres de copie",          /* French */
1517 - 1316
                "kopieer instel.",      /* Dutch  */
1317
            }
1318
        },
1319
        { /*PARA_FROMTO*/
1320
            21,
1321
            {
1322
                " von  x  nach  y",          /* German */
1323
                " from x to y",          /* English*/
1524 - 1324
                " des x apres y",          /* French */
1517 - 1325
                " van x na y",      /* Dutch  */
1326
            }
1327
        },
1328
 
1329
        { /*PARA_ENDE*/
1330
            21,
1331
            {
1332
                "von   nach  Ende   OK",          /* German */
1333
                "from  to    end    OK",          /* English*/
1524 - 1334
                "des   apres fin    OK",          /* French */
1517 - 1335
                "van   na    einde  OK",      /* Dutch  */
1336
            }
1337
        },
1338
        { /*PARA_COPYQ*/
1339
             21,
1340
             {
1341
                 "Wirklich kopieren?",          /* German */
1342
                 "really copy?",          /* English*/
1343
                 "vraiment copie?",          /* French */
1344
                 "echt kopie?",      /* Dutch  */
1345
             }
1346
         },
1347
 
1348
         { /*PARA_COPYACTIV*/
1349
              21,
1350
              {
1351
                  "Kopiert und aktiviert",          /* German */
1352
                  "copied and activated ",          /* English*/
1353
                  "copies et actifs",          /* French */
1354
                  "Kopieën en actief",      /* Dutch  */
1355
              }
1356
          },
1357
 
1358
          { /*PARA_CHANGESETT*/
1359
               21,
1360
               {
1361
                   "Ändere Einstellungen ",          /* German */
1362
                   "   change settings   ",          /* English*/
1524 - 1363
                   "modifier les reglages",          /* French */
1517 - 1364
                   "instellingen wijzigen",      /* Dutch  */
1365
               }
1366
           },
1367
 
1368
           { /*PARA_SELECT*/
1369
                21,
1370
                {
1371
                    " Wähle Parameter     ",          /* German */
1372
                    " select parameters   ",          /* English*/
1524 - 1373
                    "selectionnez Paramet.",          /* French */
1517 - 1374
                    "Selecteer Parameters ",      /* Dutch  */
1375
                }
1376
            },
1377
            { /*PARA_SEITE*/
1378
                 21,
1379
                 {
1380
                     " Wähle Seite         ",          /* German */
1381
                     "     select page     ",          /* English*/
1524 - 1382
                     "Selectionnez la page ",          /* French */
1517 - 1383
                     "  Selecteer pagina   ",      /* Dutch  */
1384
                 }
1385
             },
1386
             { /*PARA_SELSETT*/
1387
                  21,
1388
                  {
1389
                      " Wähle Setting:      ",          /* German */
1390
                      "  select setting     ",          /* English*/
1524 - 1391
                      "Selectionnez setting ",          /* French */
1517 - 1392
                      "  Selecteer setting  ",      /* Dutch  */
1393
                  }
1394
              },
1395
 
1396
 
1397
 
1398
 
1399
 
1400
//---------, ,
1401
//-----------------
1402
};
1403
 
1404
char const * strGet(int str_no)
1405
{
1406
    return strings[str_no].text[DisplayLanguage];
1407
}
1408
 
1409
 
1410
 
1411
 
1412
void Test_Language (void)   // bleibt für Tests
1413
{
1414
        lcd_cls();
1415
        lcd_printp_at(12, 7, PSTR("Ende"), 0);
1416
 
1417
 
1418
        do
1419
        {
1420
            lcd_puts_at(1, 2, strGet(BOOT_WI1), 0);
1421
//            lcd_printp_at(1, 2, strGet(BOOT_WI1), 0);
1422
 
1423
        }
1424
        while(!get_key_press (1 << KEY_ESC));
1425
        get_key_press(KEY_ALL);
1426
        return;
1427
}
1428
 
1429
 
1430
 
1431
 
1432
 
1433
 
1434
 
1435
 
1436
 
1437
 
1438
 
1439
 
1440
 
1441
 
1442
 
1443
 
1444
 
1445
 
1446
 
1447
 
1448
 
1449
 
1450
 
1451