Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1471 - 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*/
132
             "enfoncée pend. 1 sec",    /* French */
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*/
151
            "mis à Wi232",             /* French */
152
            "ingesteld op Wi232",       /* Dutch  */
153
        }
154
    },
155
    { /*BOOTSV1*/
156
         21,
157
         {
158
             "auf Kabel eingestellt",  /* German */
159
             "set to kabel on SV2",    /* English*/
160
             "mis à kabel sur SV2",    /* French */
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*/
271
            "   dernière position ",    /* French */
272
            "   Laatste positie   ",    /* Dutch  */
273
        }
274
    },
275
    { /*START_LASTPOS1*/
276
        21,
277
        {
278
            " Längengr   Breitengr",          /* German */
279
            " longitude  latitude ",          /* English*/
280
            " longitude  latitude ",          /* French */
281
            " lengtegr. breedtegr.",          /* 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_LASTPOSDEL*/
295
          21,
296
          {
297
              "      gelöscht       ",          /* German */
298
              "      deleted        ",          /* English*/
299
              "     supprimé        ",          /* French */
300
              "      gewist         ",          /* Dutch  */
301
          }
302
      },
303
     { /*START_SEARCHFC*/
304
          21,
305
          {
306
              "Suche FC...",        /* German */
307
              "searching FC...",    /* English*/
308
              "cherchant FC...",    /* French */
309
              "zoek FC...",         /* Dutch  */
310
          }
311
      },
312
 
313
      { /*ENDE*/
314
          21,
315
          {
316
              "Ende ",          /* German */
317
              "end  ",          /* English*/
318
              "fin  ",          /* French */
319
              "Einde",         /* Dutch  */
320
          }
321
      },
322
      { /*OK*/
323
          21,
324
          {
325
              "Ok",          /* German */
326
              "ok",          /* English*/
327
              "ok",          /* French */
328
              "gued",         /* Dutch  */
329
          }
330
      },
331
      { /*FEHLER*/
332
          21,
333
          {
334
              "Fehler",          /* German */
335
              "error",          /* English*/
336
              "d'erreur",          /* French */
337
              "fout",         /* Dutch  */
338
          }
339
      },
340
      { /*AKTIV*/
341
          21,
342
          {
343
              "aktiv",          /* German */
344
              "activ",          /* English*/
345
              "actifs",          /* French */
346
              "actief",         /* Dutch  */
347
          }
348
      },
349
 
350
 
351
      { /*START_FCNOTFOUND*/
352
          21,
353
          {
354
              "FC nicht gefunden!",       /* German */
355
              "FC not found!",            /* English*/
356
              "FC pas trouvé!",            /* French */
357
              "FC niet gevonden!",        /* Dutch  */
358
          }
359
      },
360
      { /*START_FCFOUND*/
361
          21,
362
          {
363
              "PKT-Tool GNU GPL",          /* German */
364
              "PKT-Tool GNU GPL",          /* English*/
365
              "PKT-Tool GNU GPL",          /* French */
366
              "PKT-Tool GNU GPL",          /* Dutch  */
367
          }
368
      },
369
      { /*START_FCFOUND1*/
370
          21,
371
          {
372
              "gefunden: ",           /* German */
373
              "found: ",              /* English*/
374
              "trouvés: ",              /* French */
375
              "gevonden: ",           /* Dutch  */
376
          }
377
      },
378
      { /*START_FCFOUND2*/
379
          21,
380
          {
381
              "Flight-Ctrl",          /* German */
382
              "Flight-Ctrl",          /* English*/
383
              "Flight-Ctrl",          /* French */
384
              "Flight-Ctrl",          /* Dutch  */
385
          }
386
      },
387
      { /*START_FCFOUND3*/
388
          21,
389
          {
390
              "Navi-Ctrl",          /* German */
391
              "Navi-Ctrl",          /* English*/
392
              "Navi-Ctrl",          /* French */
393
              "Navi-Ctrl",          /* Dutch  */
394
          }
395
      },
396
      { /*START_VERSIONCHECK*/
397
          21,
398
          {
399
              "Version: ",          /* German */
400
              "Version: ",          /* English*/
401
              "Version: ",          /* French */
402
              "Versie:  ",          /* Dutch  */
403
          }
404
      },
405
      { /*START_VERSIONCHECK1*/
406
          21,
407
          {
408
              " erwartet",          /* German */
409
              " expected",          /* English*/
410
              " attendus",          /* French */
411
              " verwacht",          /* Dutch  */
412
          }
413
      },
414
      { /*START_VERSIONCHECK2*/
415
          21,
416
          {
417
              " gefunden",              /* German */
418
              " found",                 /* English*/
419
              " trouvés",                 /* French */
420
              " gevonden",              /* Dutch  */
421
          }
422
      },
423
      { /*START_VERSIONCHECK3*/
424
          21,
425
          {
426
              "PKT-Tool nur mit",          /* German */
427
              "PKT-Tool only with",        /* English*/
428
              "PKT uniquement avec",        /* French */
429
              "PKT-Tool alleen met",       /* Dutch  */
430
          }
431
      },
432
 
433
      { /*START_VERSIONCHECK4*/
434
          21,
435
          {
436
              "FC Software ",          /* German */
437
              "FC Software ",          /* English*/
438
              "FC Software ",          /* French */
439
              "FC Software ",          /* Dutch  */
440
          }
441
      },
442
 
443
      { /*START_VERSIONCHECK5*/
444
          21,
445
          {
446
              "kompatibel",         /* German */
447
              "compatible",         /* English*/
448
              "compatibles",         /* French */
449
              "compatibel",         /* Dutch  */
450
          }
451
      },
452
      { /*ON*/
453
          21,
454
          {
455
              "Ein  ",          /* German */
456
              "On   ",          /* English*/
457
              "Un   ",          /* French */
458
              "Aan  ",         /* Dutch  */
459
          }
460
      },
461
      { /*AUS*/
462
          21,
463
          {
464
              "Aus  ",          /* German */
465
              "Off  ",          /* English*/
466
              "Du   ",          /* French */
467
              "Uit  ",          /* Dutch  */
468
          }
469
      },
470
      { /*ESC*/
471
           21,
472
           {
473
               "ESC",          /* German */
474
               "ESC",          /* English*/
475
               "ESC",          /* French */
476
               "ESC",          /* Dutch  */
477
           }
478
       },
479
      { /*SHUTDOWN*/
480
          21,
481
          {
482
              "  PKT ausschalten?",        /* German */
483
              "  shutdown PKT ?",          /* English*/
484
              "  désactiver PKT ?",          /* French */
485
              "  PKT uitschakelen ?",      /* Dutch  */
486
          }
487
      },
488
      { /*YES NO*/
489
          21,
490
          {
491
              "Nein   Ja",          /* German */
492
              "no    yes",          /* English*/
493
              "non   oui",          /* French */
494
              "Nee    Ja",          /* Dutch  */
495
          }
496
      },
497
      { /*UPDATE1*/
498
          21,
499
          {
500
              "Verbinde PC mit PKT  ",          /* German */
501
              "Connect PC to PKT-USB",          /* English*/
502
              "associer PC a PKT-USB",          /* French */
503
              "Verbind PC met PKT   ",          /* Dutch  */
504
          }
505
      },
506
      { /*UPDATE2*/
507
          21,
508
          {
509
              "Drücke 'Start' am PKT",          /* German */
510
              "Press 'Start' on PKT ",          /* English*/
511
              "presse 'lancer' a PKT",          /* French */
512
              "Druk 'Start' op PKT  ",          /* Dutch  */
513
          }
514
      },
515
      { /*ENDSTART*/
516
          21,
517
          {
518
              "           Ende Start",          /* German */
519
              "           End  Start",          /* English*/
520
              "          fin  lancer",          /* French */
521
              "          Einde Start",          /* Dutch  */
522
          }
523
      },
524
      { /*TOOLS1*/
525
          21,
526
          {
527
              " PC-Quick-Verbindung ",          /* German */
528
              " PC-Quick-Connection ",          /* English*/
529
              " PC-connexion rapide ",          /* French */
530
              " Snelle PC-verbinding",          /* Dutch  */
531
          }
532
      },
533
      { /*CONNECT1,*/
534
          21,
535
          {
536
              "Verbinde das PKT mit",         /* German */
537
              "Connect PKT with MK",          /* English*/
538
              "connectez PKT a  MK",          /* French */
539
              "Verbind PKT  ",         /* Dutch  */
540
          }
541
      },
542
      { /*CONNECT2*/
543
          21,
544
          {
545
              "dem MK über:",        /* German */
546
              "   over    :",                /* English*/
547
              "  a propos :",                /* French */
548
              "   met     :",   /* Dutch  */
549
          }
550
      },
551
 
552
      { /*CONNECT4,*/
553
          21,
554
          {
555
              "dem MK über:  Kabel, ",         /* German */
556
              "over: Kabel",                   /* English*/
557
              "a propos: Cable",                   /* French */
558
              "MK via: kabel        ",         /* Dutch  */
559
          }
560
      },
561
      { /*CONNECT5*/
562
          21,
563
          {
564
              "es ist kein Wi.232",         /* German */
565
              "there is no Wi.232",          /* English*/
566
              "l n'ya pas de ",        /* French */
567
              "er is geen wi.232 ",         /* Dutch  */
568
          }
569
      },
570
      { /*CONNECT6*/
571
          21,
572
          {
573
              "Modul eingebaut.",          /* German */
574
              "built in.",                 /* English*/
575
              "module intégré Wi232",                 /* French */
576
              "module ingebouwd.",         /* Dutch  */
577
          }
578
      },
579
      { /*CONNECT7,*/
580
          21,
581
          {
582
              "Wenn doch, dann bitte",       /* German */
583
              "if yes, then first",          /* English*/
584
              "Si vous le faites",          /* French */
585
              "zo ja, dan aub eerst",        /* Dutch  */
586
          }
587
      },
588
      { /*CONNECT8*/
589
          21,
590
          {
591
              "das Modul zuerst im  ",      /* German */
592
              "activate modul in",          /* English*/
593
              "activer le module",          /* French */
594
              "de module aktiveren",        /* Dutch  */
595
          }
596
      },
597
      { /*CONNECT9*/
598
          21,
599
          {
600
              "Setupmenü aktivieren.",     /* German */
601
              "Setupmenu",                 /* English*/
602
              "dans menu de config.",                 /* French */
603
              "in het Setupmenu.",         /* Dutch  */
604
          }
605
      },
606
      { /*CONNECT10*/
607
          21,
608
          {
609
              "Sie müssen das PKT",   /* German */
610
              "You have to",          /* English*/
611
              "Vous devez",          /* French */
612
              "U moet de PKT",        /* Dutch  */
613
          }
614
      },
615
      { /*CONNECT11*/
616
          21,
617
          {
618
              "jetzt neu starten!",   /* German */
619
              "restart PKT",          /* English*/
620
              "redémarrer PKT",          /* French */
621
              "nu opnieuw starten!",  /* Dutch  */
622
          }
623
      },
624
      { /*CONNECT12*/
625
          21,
626
          {
627
              "Es ist kein BTM-222",          /* German */
628
              "There is no BTM-222",          /* English*/
629
              "l n'ya pas de ",          /* French */
630
              "Er is geen BTM-222",           /* Dutch  */
631
          }
632
      },
633
      { /*CONNECT13*/
634
          21,
635
          {
636
              "Modul eingebaut",         /* German */
637
              "Modul built in",          /* English*/
638
              "module intégré BTM222",          /* French */
639
              "module ingebouwd.",       /* Dutch  */
640
          }
641
      },
642
      { /*CONNECT14*/
643
          21,
644
          {
645
              " MK-USB Funktion     ",          /* German */
646
              " MK-USB Function     ",          /* English*/
647
              " MK-USB fonction     ",          /* French */
648
              " MK-USB Functie      ",          /* Dutch  */
649
          }
650
      },
651
      { /*CONNECT15*/
652
          21,
653
          {
654
              " BT --> Kabel an FC  ",          /* German */
655
              " BT --> Kabel to FC  ",          /* English*/
656
              " BT --> Cable a  FC  ",          /* French */
657
              " BT --> kabel naar FC",          /* Dutch  */
658
          }
659
      },
660
      { /*CONNECT16*/
661
          21,
662
          {
663
              "PC mit BT verb.",          /* German */
664
              "connect PC with BT",       /* English*/
665
              "associer PC a BT",       /* French */
666
              "PC via BT verbonden.",     /* Dutch  */
667
          }
668
      },
669
      { /*CONNECT17*/
670
          21,
671
          {
672
              "PKT-Kabel an FC",          /* German */
673
              "PKT-Kabel to FC",          /* English*/
674
              "PKT-Cable a FC",          /* French */
675
              "PKT-kabel naar FC",        /* Dutch  */
676
          }
677
      },
678
      { /*CONNECT18*/
679
          21,
680
          {
681
              " BT --> Wi.232       ",          /* German */
682
              " BT --> Wi.232       ",          /* English*/
683
              " BT --> Wi.232       ",          /* French */
684
              " BT --> Wi.232       ",          /* Dutch  */
685
          }
686
      },
687
      { /*CONNECT19*/
688
          21,
689
          {
690
              "Wi.232 an FC         ",          /* German */
691
              "Wi.232 to FC         ",          /* English*/
692
              "Wi.232 a FC          ",          /* French */
693
              "Wi.232 naar FC       ",          /* Dutch  */
694
          }
695
      },
696
 
697
      { /*CONNECT20*/
698
          21,
699
          {
700
              " USB --> Kabel an FC ",          /* German */
701
              " USB --> cable to FC ",          /* English*/
702
              " USB --> cable a FC  ",          /* French */
703
              "USB --> kabel naar FC",          /* Dutch  */
704
          }
705
      },
706
      { /*CONNECT21*/
707
          21,
708
          {
709
              "PC mit USB verbinden ",          /* German */
710
              "connect PC with USB  ",          /* English*/
711
              "associer PC a USB    ",          /* French */
712
              "Verbind PC met USB   ",          /* Dutch  */
713
          }
714
      },
715
      { /*CONNECT22*/
716
          21,
717
          {
718
              " USB --> Wi.232      ",          /* German */
719
              " USB --> Wi.232      ",          /* English*/
720
              " USB --> Wi.232      ",          /* French */
721
              " USB --> Wi.232      ",          /* Dutch  */
722
          }
723
      },
724
      { /*CONNECT23*/
725
          21,
726
          {
727
              "MK-Tool starten",        /* German */
728
              "start MK-Tool",          /* English*/
729
              "démarrage MK-Tool",          /* French */
730
              "start MK-Tool",          /* Dutch  */
731
          }
732
      },
733
      { /*CONNECT24*/
734
          21,
735
          {
736
              " Wi.232 Konfigurieren",          /* German */
737
              " Wi.232 Configuration",          /* English*/
738
              " Wi.232 configurer   ",          /* French */
739
              " Wi.232 Configuratie ",          /* Dutch  */
740
          }
741
      },
742
      { /*CONNECT25*/
743
          21,
744
          {
745
              "Programm starten.    ",   /* German */
746
              "start program ",          /* English*/
747
              "Démarrer le programme",          /* French */
748
              "start programma.",        /* Dutch  */
749
          }
750
      },
751
 
752
      { /*CONNECT26*/
753
          21,
754
          {
755
              "BTM-222 Konfigurieren",          /* German */
756
              "BTM-222 configuration",          /* English*/
757
              "BTM-222 de configura.",          /* French */
758
              "BTM-222 configuratie",           /* Dutch  */
759
          }
760
      },
761
      { /*CONNECT27*/
762
          21,
763
          {
764
              "FC > MK-USB > BTM-222",          /* German */
765
              "FC > MK-USB > BTM-222",          /* English*/
766
              "FC > MK-USB > BTM-222",          /* French */
767
              "FC > MK-USB > BTM-222",          /* Dutch  */
768
          }
769
      },
770
      { /*CONNECT28*/
771
          21,
772
          {
773
              "MK-USB an PC anschl. ",          /* German */
774
              "connect PC to MK-USB ",          /* English*/
775
              "associer PC a MK-USB ",          /* French */
776
              "Verbind PC met MK-USB",          /* Dutch  */
777
          }
778
      },
779
      { /*CONNECT29*/
780
          21,
781
          {
782
              "Zwischen MK-USB und  ",          /* German */
783
              "connect crossed cable",          /* English*/
784
              "la connexion entre PC",          /* French */
785
              "Tussen MK-USB en PKT ",         /* Dutch  */
786
          }
787
      },
788
      { /*CONNECT30*/
789
          21,
790
          {
791
              "PKT ein gekreuztes   ",          /* German */
792
              "between MK-USB and   ",          /* English*/
793
              "et FC un câble croisé",          /* French */
794
              "een gekruiste kabel  ",         /* Dutch  */
795
          }
796
      },
797
      { /*CONNECT31*/
798
          21,
799
          {
800
              "Kabel anschliessen.  ",        /* German */
801
              "PKT SV2",                      /* English*/
802
              " ",                      /* French */
803
              "aansluiten.",                  /* Dutch  */
804
          }
805
      },
806
 
807
 
808
 
809
 
810
 
811
      { /*Kabel*/
812
          21,
813
          {
814
              "Kabel",           /* German */
815
              "cable",           /* English*/
816
              "cable",           /* French */
817
              "Kabel",           /* Dutch  */
818
          }
819
      },
820
      { /*SLAVE*/
821
          21,
822
          {
823
              "Slave ",          /* German */
824
              "Slave ",          /* English*/
825
              "esclaves",          /* French */
826
              "Slave ",         /* Dutch  */
827
          }
828
      },
829
      { /*NORMAL*/
830
          21,
831
          {
832
              "Normal",          /* German */
833
              "Normal",          /* English*/
834
              "normale",          /* French */
835
              "Normaal",         /* Dutch  */
836
          }
837
      },
838
      { /*Reverse*/
839
          21,
840
          {
841
              "Reverse",          /* German */
842
              "inverse",          /* English*/
843
              "inverse",          /* French */
844
              "geinver",          /* Dutch  */
845
          }
846
      },
847
      { /*ENDOK*/
848
          21,
849
          {
850
              "Ende   OK",           /* German */
851
              "End    OK",           /* English*/
852
              "Fin    OK",           /* French */
853
              "Eind   OK",           /* Dutch  */
854
          }
855
      },
856
      { /*EEPROM1*/
857
           21,
858
           {
859
               " EEProm wirklich",       /* German */
860
               " Realy delete",          /* English*/
861
               " eeprom supprimer?",          /* French */
862
               " Eeprom werkelijk",      /* Dutch  */
863
           }
864
       },
865
       { /*EEPROM2*/
866
           21,
867
           {
868
               " löschen?",          /* German */
869
               " EEprom?",           /* English*/
870
               "    ",           /* French */
871
               " wissen?",           /* Dutch  */
872
           }
873
       },
874
       { /*DEUTSCH*/
875
           21,
876
           {
877
               "deutsch    ",           /* German */
878
               "german     ",           /* English*/
879
               "allemande  ",           /* French */
880
               "duits      ",           /* Dutch  */
881
           }
882
       },
883
       { /*ENGLISCH*/
884
           21,
885
           {
886
               "englisch   ",           /* German */
887
               "english    ",           /* English*/
888
               "anglaise   ",           /* French */
889
               "engels     ",           /* Dutch  */
890
           }
891
       },
892
       { /*FRANCE*/
893
           21,
894
           {
895
               "französisch",           /* German */
896
               "french     "  ,           /* English*/
897
               "française  ",           /* French */
898
               "frans      ",        /* Dutch  */
899
           }
900
       },
901
       { /*NETHERL*/
902
           21,
903
           {
904
               "holländisch",           /* German */
905
               "dutch      ",           /* English*/
906
               "hollandaise",           /* French */
907
               "nederlands ",        /* Dutch  */
908
           }
909
       },
910
       { /*DISPLAY1*/
911
           21,
912
           {
913
               "Anzeige Einstellungen",           /* German */
914
               " Display Setup       ",           /* English*/
915
               " d'affichage config. ",           /* French */
916
               "Display instellingen ",           /* Dutch  */
917
           }
918
       },
919
       { /*DISPLAY2*/
920
           21,
921
           {
922
               "Infos bei Start:",           /* German */
923
               "Info at startup ",           /* English*/
924
               "Inf.au demarrage",           /* French */
925
               "Info bij opstart",           /* Dutch  */
926
           }
927
       },
928
       { /*DISPLAY3*/
929
           21,
930
           {
931
               "Sprache : ",           /* German */
932
               "Language: ",           /* English*/
933
               "la langue: ",           /* French */
934
               "Taal: ",               /* Dutch  */
935
           }
936
       },
937
       { /*DISPLAY4*/
938
            21,
939
            {
940
                "Licht aus nach:",          /* German */
941
                "Light off after:",         /* English*/
942
                "Exti.feux p.les:",         /* French */
943
                "Licht uit na:  ",          /* Dutch  */
944
            }
945
        },
946
        { /*DISPLAY5*/
947
            21,
948
            {
949
                "LCD Helligk.:",          /* German */
950
                " Brightness :",          /* English*/
951
                " luminosite :",          /* French */
952
                " intensiteit:",          /* Dutch  */
953
            }
954
        },
955
        { /*DISPLAY6*/
956
            21,
957
            {
958
                "LCD Kontrast:",           /* German */
959
                "LCD contrast:",           /* English*/
960
                "LCD contrast:",           /* French */
961
                "LCD contrast:",           /* Dutch  */
962
            }
963
        },
964
        { /*DISPLAY7*/
965
            21,
966
            {
967
                "LCD Norm/Inv: ",          /* German */
968
                "LCD Norm/Inv: ",          /* English*/
969
                "LCD Norm/Inv: ",          /* French */
970
                "LCD Norm/Inv: ",          /* Dutch  */
971
            }
972
        },
973
        { /*DISPLAY8*/
974
            21,
975
            {
976
                "LCD Orient.: ",          /* German */
977
                "LCD Orient.: ",          /* English*/
978
                "LCD Orient.: ",           /* French */
979
                "LCD Orient.: ",          /* Dutch  */
980
            }
981
        },
982
 
983
        { /*DEBUGPKT*/
984
            21,
985
            {
986
                "Debug PKT",          /* German */
987
                "Debug PKT",          /* English*/
988
                "Debug PKT",           /* French */
989
                "Debug PKT",          /* Dutch  */
990
            }
991
        },
992
 
993
        { /*WITXRX*/
994
            21,
995
            {
996
                "Wi TX/RX Chan:",          /* German */
997
                "Wi TX/RX Chan:",          /* English*/
998
                "Wi TX/RX Chan:",           /* French */
999
                "Wi TX/RX Chan:",          /* Dutch  */
1000
            }
1001
        },
1002
        { /*WINETG*/
1003
            21,
1004
            {
1005
                "Wi NetW. Grp.:",          /* German */
1006
                "Wi NetW. Grp.:",          /* English*/
1007
                "Wi NetW. Grp.:",           /* French */
1008
                "Wi NetW. Grp.:",          /* Dutch  */
1009
            }
1010
        },
1011
        { /*WINETM*/
1012
            21,
1013
            {
1014
                "Wi NetW. Mode:",          /* German */
1015
                "Wi NetW. Mode:",          /* English*/
1016
                "Wi NetW. Mode:",          /* French */
1017
                "Wi NetW. Mode:",          /* Dutch  */
1018
            }
1019
        },
1020
 
1021
 
1022
        { /*WITIMEOUT*/
1023
            21,
1024
            {
1025
                "Wi TX Timeout:",          /* German */
1026
                "Wi TX Timeout:",          /* English*/
1027
                "Wi TX Timeout:",          /* French */
1028
                "Wi TX Timeout:",          /* Dutch  */
1029
            }
1030
        },
1031
 
1032
        { /*WIUART*/
1033
            21,
1034
            {
1035
                "Wi UART MTU   :",          /* German */
1036
                "Wi UART MTU   :",          /* English*/
1037
                "Wi UART MTU   :",          /* French */
1038
                "Wi UART MTU   :",          /* Dutch  */
1039
            }
1040
        },
1041
        { /*WI2321*/
1042
            21,
1043
            {
1044
                "Wi.232 eingebaut:",          /* German */
1045
                "Wi.232 built in :",          /* English*/
1046
                "Wi.232 intégré  :",          /* French */
1047
                "Wi.232 ingebouwd:",          /* Dutch  */
1048
            }
1049
        },
1050
        { /*WI2322*/
1051
            21,
1052
            {
1053
                "Ist ein Wi.232-Modul ",   /* German */
1054
                "Is Wi232 modul",          /* English*/
1055
                "est un module ",          /* French */
1056
                "Is er een Wi.232",        /* Dutch  */
1057
            }
1058
        },
1059
        { /*WI2323*/
1060
            21,
1061
            {
1062
                "eingebaut?",          /* German */
1063
                "built in?",           /* English*/
1064
                "integre Wi232?",           /* French */
1065
                "module ingebouwd?",   /* Dutch  */
1066
            }
1067
        },
1068
        { /*YES*/
1069
            21,
1070
            {
1071
                "Ja  ",          /* German */
1072
                "yes ",          /* English*/
1073
                "oui ",          /* French */
1074
                "Ja  ",          /* Dutch  */
1075
            }
1076
        },
1077
        { /*NO*/
1078
            21,
1079
            {
1080
                "Nein",          /* German */
1081
                "no  ",          /* English*/
1082
                "non ",          /* French */
1083
                "Nee ",          /* Dutch  */
1084
            }
1085
        },
1086
        { /*BT1*/
1087
            21,
1088
            {
1089
                "BTM222 eingebaut:",          /* German */
1090
                "BTM222 built in :",          /* English*/
1091
                "BTM222 integre  :",          /* French */
1092
                "BTM222 ingebouwd:",          /* Dutch  */
1093
            }
1094
        },
1095
        { /*BT2*/
1096
            21,
1097
            {
1098
                "Ist ein BTM-222-Modul",      /* German */
1099
                "Is BTM-222 Modul",           /* English*/
1100
                "est un module ",           /* French */
1101
                "Is er een BTM-222",          /* Dutch  */
1102
            }
1103
        },
1104
        { /*BT3*/
1105
            21,
1106
            {
1107
                "eingebaut?",          /* German */
1108
                "built in?",           /* English*/
1109
                "integre BTM222?",           /* French */
1110
                "module ingebouwd?",   /* Dutch  */
1111
            }
1112
        },
1113
 
1114
        { /*LIPO1*/
1115
            21,
1116
            {
1117
                " PKT Akku Einstellung",          /* German */
1118
                " PKT Accu Setup      ",          /* English*/
1119
                " PKT Accu Setup      ",          /* French */
1120
                " PKT Accu Setup      ",          /* Dutch  */
1121
            }
1122
        },
1123
        { /*LIPO2*/
1124
            21,
1125
            {
1126
                "PKT Akkutyp: ",           /* German */
1127
                "PKT Accutyp: ",           /* English*/
1128
                "PKT Accutyp: ",           /* French */
1129
                "PKT Accutype: ",          /* Dutch  */
1130
            }
1131
        },
1132
        { /*LIPO3*/
1133
            21,
1134
            {
1135
                "Akku U Offset: ",           /* German */
1136
                "Accu U Offset: ",           /* English*/
1137
                "Accu U Offset: ",           /* French */
1138
                "Accu U Offset: ",           /* Dutch  */
1139
            }
1140
        },
1141
        { /*LIPO4*/
1142
            21,
1143
            {
1144
                "PKT Akkutyp: ",           /* German */
1145
                "PKT Accutyp: ",           /* English*/
1146
                "PKT Accutyp: ",           /* French */
1147
                "PKT Accutype: ",          /* Dutch  */
1148
            }
1149
        },
1150
        { /*LIPO5*/
1151
            21,
1152
            {
1153
                "Offset verstellen bis",         /* German */
1154
                "adjust offset until",           /* English*/
1155
                "Decalage l'ajuster ",           /* French */
1156
                "Offset afregelen tot",          /* Dutch  */
1157
            }
1158
        },
1159
        { /*LIPO6*/
1160
            21,
1161
            {
1162
                "die Spannung passt",     /* German */
1163
                "voltage fits",           /* English*/
1164
                "a la tension",           /* French */
1165
                "de spanning juist is.",  /* Dutch  */
1166
            }
1167
        },
1168
        { /*LOWBAT*/
1169
            21,
1170
            {
1171
                "LowBat Warn V:",          /* German */
1172
                "LowBat Warn V:",          /* English*/
1173
                "LowBat Warn V:",          /* French */
1174
                "LowBat alarmering:",      /* Dutch  */
1175
            }
1176
        },
1177
        { /*OSD_V, vorne*/
1178
            21,
1179
            {
1180
                "V",          /* German */
1181
                "F",          /* English*/
1182
                "L",          /* French */
1183
                "F",      /* Dutch  */
1184
            }
1185
        },
1186
 
1187
        { /*OSD_H, hinten*/
1188
            21,
1189
            {
1190
                "H",          /* German */
1191
                "B",          /* English*/
1192
                "D",          /* French */
1193
                "A",      /* Dutch  */
1194
            }
1195
        },
1196
        { /*OSD_L, links*/
1197
            21,
1198
            {
1199
                "L",          /* German */
1200
                "L",          /* English*/
1201
                "G",          /* French */
1202
                "L",      /* Dutch  */
1203
            }
1204
        },
1205
 
1206
        { /*OSD_R, rechts*/
1207
            21,
1208
            {
1209
                "R",          /* German */
1210
                "R",          /* English*/
1211
                "D",          /* French */
1212
                "R",      /* Dutch  */
1213
            }
1214
        },
1215
 
1216
        { /*OSD_ERROR*/
1217
            21,
1218
            {
1219
                "FEHLER: Datenverlust ",          /* German */
1220
                "ERROR: Data lost",          /* English*/
1221
                "perte de données",          /* French */
1222
                "verlies van gegevens ",      /* Dutch  */
1223
            }
1224
        },
1225
        { /*OSD_POS1*/
1226
            21,
1227
            {
1228
                "Letzte bekannte",          /* German */
1229
                "Last known ",          /* English*/
1230
                "Dernière position",          /* French */
1231
                "Laatst bekende",      /* Dutch  */
1232
            }
1233
        },
1234
 
1235
        { /*OSD_POS2*/
1236
            21,
1237
            {
1238
                "Position gespeichert",          /* German */
1239
                "position saved",          /* English*/
1240
                "connue sauvé",          /* French */
1241
                "positie gered",      /* Dutch  */
1242
            }
1243
        },
1244
        { /*PARA_SETTINGS*/
1245
            21,
1246
            {
1247
                " Einstellungen x     ",          /* German */
1248
                " Setting x           ",          /* English*/
1249
                " Paramètres x        ",          /* French */
1250
                " Instellingen x      ",      /* Dutch  */
1251
            }
1252
        },
1253
        { /*PARA_CHANGE*/
1254
            21,
1255
            {
1256
                "ändern",          /* German */
1257
                "change",          /* English*/
1258
                "le changement",          /* French */
1259
                "verandering",      /* Dutch  */
1260
            }
1261
        },
1262
 
1263
        { /*PARA_AKTIVI*/
1264
            21,
1265
            {
1266
                "aktivieren",          /* German */
1267
                "activate",          /* English*/
1268
                "activer",          /* French */
1269
                "activeren",      /* Dutch  */
1270
            }
1271
        },
1272
 
1273
        { /*PARA_AKTIV*/
1274
            21,
1275
            {
1276
                "aktiviert",          /* German */
1277
                "activated",          /* English*/
1278
                "activée",          /* French */
1279
                "geactiveerd",      /* Dutch  */
1280
            }
1281
        },
1282
        { /*PARA_SAVESETT*/
1283
            21,
1284
            {
1285
                " Setting x speichern?",          /* German */
1286
                " store setting?",          /* English*/
1287
                " Réglage magasin?",          /* French */
1288
                " instell.op te slaan?",      /* Dutch  */
1289
            }
1290
        },
1291
 
1292
        { /*PARA_SETTSAVED*/
1293
            21,
1294
            {
1295
                "Gespeichert und",          /* German */
1296
                "stored and",          /* English*/
1297
                "stockés et",          /* French */
1298
                "opgeslagen en",      /* Dutch  */
1299
            }
1300
        },
1301
        { /*PARA_COPY*/
1302
            21,
1303
            {
1304
                "Kopiere Setting",          /* German */
1305
                "copy settings",          /* English*/
1306
                "paramètres de copie",          /* French */
1307
                "kopieer instellingen",      /* Dutch  */
1308
            }
1309
        },
1310
        { /*PARA_FROMTO*/
1311
            21,
1312
            {
1313
                " von  x  nach  y",          /* German */
1314
                " from x to y",          /* English*/
1315
                " des x après y",          /* French */
1316
                " van x na y",      /* Dutch  */
1317
            }
1318
        },
1319
 
1320
        { /*PARA_ENDE*/
1321
            21,
1322
            {
1323
                "von   nach  Ende   OK",          /* German */
1324
                "from  to    end    OK",          /* English*/
1325
                "des   après fin    OK",          /* French */
1326
                "van   na    einde  OK",      /* Dutch  */
1327
            }
1328
        },
1329
        { /*PARA_COPYQ*/
1330
             21,
1331
             {
1332
                 "Wirklich kopieren?",          /* German */
1333
                 "really copy?",          /* English*/
1334
                 "vraiment copie?",          /* French */
1335
                 "echt kopie?",      /* Dutch  */
1336
             }
1337
         },
1338
 
1339
         { /*PARA_COPYACTIV*/
1340
              21,
1341
              {
1342
                  "Kopiert und aktiviert",          /* German */
1343
                  "copied and activated ",          /* English*/
1344
                  "copies et actifs",          /* French */
1345
                  "Kopieën en actief",      /* Dutch  */
1346
              }
1347
          },
1348
 
1349
          { /*PARA_CHANGESETT*/
1350
               21,
1351
               {
1352
                   "Ändere Einstellungen ",          /* German */
1353
                   "   change settings   ",          /* English*/
1354
                   "modifier les réglages",          /* French */
1355
                   "instellingen wijzigen",      /* Dutch  */
1356
               }
1357
           },
1358
 
1359
           { /*PARA_SELECT*/
1360
                21,
1361
                {
1362
                    " Wähle Parameter     ",          /* German */
1363
                    " select parameters   ",          /* English*/
1364
                    "sélectionnez Paramèt.",          /* French */
1365
                    "Selecteer Parameters ",      /* Dutch  */
1366
                }
1367
            },
1368
            { /*PARA_SEITE*/
1369
                 21,
1370
                 {
1371
                     " Wähle Seite         ",          /* German */
1372
                     "     select page     ",          /* English*/
1373
                     "Sélectionnez la page ",          /* French */
1374
                     "  Selecteer pagina   ",      /* Dutch  */
1375
                 }
1376
             },
1377
             { /*PARA_SELSETT*/
1378
                  21,
1379
                  {
1380
                      " Wähle Setting:      ",          /* German */
1381
                      "  select setting     ",          /* English*/
1382
                      "Sélectionnez setting ",          /* French */
1383
                      "  Selecteer setting  ",      /* Dutch  */
1384
                  }
1385
              },
1386
 
1387
 
1388
 
1389
 
1390
 
1391
//---------, ,
1392
//-----------------
1393
};
1394
 
1395
char const * strGet(int str_no)
1396
{
1397
    return strings[str_no].text[DisplayLanguage];
1398
}
1399
 
1400
 
1401
 
1402
 
1403
void Test_Language (void)   // bleibt für Tests
1404
{
1405
        lcd_cls();
1406
        lcd_printp_at(12, 7, PSTR("Ende"), 0);
1407
 
1408
 
1409
        do
1410
        {
1411
            lcd_puts_at(1, 2, strGet(BOOT_WI1), 0);
1412
//            lcd_printp_at(1, 2, strGet(BOOT_WI1), 0);
1413
 
1414
        }
1415
        while(!get_key_press (1 << KEY_ESC));
1416
        get_key_press(KEY_ALL);
1417
        return;
1418
}
1419
 
1420
 
1421
 
1422
 
1423
 
1424
 
1425
 
1426
 
1427
 
1428
 
1429
 
1430
 
1431
 
1432
 
1433
 
1434
 
1435
 
1436
 
1437
 
1438
 
1439
 
1440
 
1441
 
1442