Module oder Klassen mit globalen String-Arrays

Hallo,

ich versuche die Beschriftung von Tasten und anderen Elementen für verschiedene Sprachen anzupassen.
Grundsätzlich geht das auch.
Ich möchte nun für jede Sprache ein “Modul” machen, in dem die Beschriftungen für alle Elemente enthalten sind.
Z.B. Modul “englisch”, “deutsch”, usw.
Würde ich dies in einer Methode machen, würde es etwa so aussehen (für deutsch):

dim buttons() as String=array(_
"pb_file|Datei",_
"pb_exit|beenden"_
)

In jedem Modul soll nun das Array buttons() mit den Sprachspezifischen Texten sein.
Die Texte sind konstant.

Fragen:

  1. wie und wo definiere ich diese Konstanten-Arrays
  2. wie greife ich darauf index-basiert zu ?
    statt z.b. mit englisch.buttons(5) auf das Array zuzugreifen, möchte ich in etwa mit modul(0).buttons(5) darauf zugreifen.

Vielen Dank

Grüsse
Dieter

Im User’s Guide UserGuide-Framework findest Du ab Seite 51 wie man das macht.

Kurz zusammengefasst:

  • In einem Modul kreierst Du “dynamische Konstanten” mit bersetzungen und einem Text der “Fallback-Sprache” (normalerweise Englisch)
  • Im Menu Builder, Window Editor, usw. in der IDE kannst Du diese Konstanten direkt verwenden mit einem # vorangestellt.

Schau dir am besten in den Beispielprojekten EddiesElectronics an. Da wird sowas verwendet.

Siehe auch:
https://forum.xojo.com/6020-overriding-system-language/2