Seite 1 von 1

Multilanguare Programm

Verfasst: 26.10.2008 10:12
von walter741
Hallo

Möchte als Anfänger gerne Fragen an Euch richten.
Verwende PB4.02.

Habe ein Programm geschrieben das gut funktioniert.
In meinem Fenster 1000x700 Pixel befinden sich :

5 Menüs mit mehreren Einträgen
5 ButtonGatgets
16 TextGadgets
4 Rahmen mit Text
16 StringGadgets
2 ListIconGadgets
1 ComboBox

In einem Menü kann ich aus mehreren Sprachen (derzeit 5) auswählen.
Der Sprachwechsel erfolgt ohne Stop/Start des Programms.

Die 5 Sprachen sind in 5 *.txt-Dateien gespeichert, die entsprechend aufgerufen werden und die Texte in den Menüs und Gadgets ändern.

Da die Texte in den unterschiedlichen Sprachen unterschiedlich lang sind,
sieht man, in den Menüeinträgen und den TextGadgets nach dem sprachwechsel noch Fragmente von der vorherigen Sprache.
(wenn der vorige Text länger war als der neue )Text

Um das zu verhindern, verstecke ich zuerst das ganze Fenster,
wechsle die Sprache und mache das Fenster wieder sichtbar.

Das kostet viel Zeit und ist sehr unschön anzusehen.

1.Frage: Wie verwaltet man mehrere Sprachen, so das man diese Sprachen auch spähter verändern kann, ohne das man etwas programmieren muss. (also Texte aus externer Datei einlesen)
Zur Zeit habe ich ca 130 Texte/Sprache. (inkl Fehlermeldungen)
Wie verhindere ich Textreste von dem vorigen Text in einem Gadget.


2.Frage: Abhängig vom Monitor (Auflösung) sehe oder sehe ich nicht die Gitternetzlinien in meinen beiden ListIconGadgets.
Das Fenster ist 1000x700 Pixel gross. Es wird sowohl auf einem 1280x1024 als auch auf einem 1024x768 Monitor voll angezeigt.
Allerdings sehe ich bei der kleineren Auflösung die GitterNetzLinien nicht.
Woran kann das liegen???


Danke für Euro Hilfe
Walter

Verfasst: 26.10.2008 10:17
von cxAlex
> ... in den Menüeinträgen und den TextGadgets nach dem sprachwechsel noch Fragmente von der vorherigen Sprache.

Setzt du den Text mit SetGadgetText(), bzw. SetMenuItemText() ?
Sollte eigentlich nichts mehr von der alten Sprache überbleiben.

Ansonst kann ich dir für eine Sprachverwaltung nur nxScribe empfehlen. Sehr einfach zu verwenden und erzeugt direkt PB Sourcecode.

PS: (Das musste ja kommen) Warum 4.02 und nicht 4.2/4.3 ?

Verfasst: 27.10.2008 21:41
von walter741
Hallo cxAlex


Habe mir das nxScribe angeschaut. Das Ergebnis ist ähnlich meiner Lösung. => Pro Sprache ein Textfile.

Muss mich entschuldigen: die Textartefakte treten nur in der Ersten Zeile des Menüs auf, wenn ich mit der Maus darüber fahre oder eine andere Sprache wechsle.
Habe jetzt nur das Menü versteckt und gleich wieder aktiviert.
Das geht jetzt wesentlich schneller, als wenn ich das ganze Fenster verstecke und wieder sichtbar mache.

Zu Punkt 2. Habe jetzt PB4.20 und werde testen ob ich die Gitternetzlinien auf allen Monitoren sehe oder nicht.

Danke