Laden...

mehr sprachige Text setzen

Erstellt von davidG vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.623 Views
D
davidG Themenstarter:in
67 Beiträge seit 2006
vor 17 Jahren
mehr sprachige Text setzen

Hallo,

ich entwickle gerade eine Anwendung (VS.NET 2003, Framework 1.1.), die in mehreren Sprachen bedienbar sein soll.

Ich habe eine Datenbank, in der zum einen die Steuerelement-ID (z.b. Labels, Buttons..), den Sprachecode (deutsch 1, englisch 2, spanisch 3...) und zur jeweiligen Sprache die Texte für die Steuerlemente speichert.

Auf dem ersten Formular, welches sich öffnet, kann man eine Sprache auswählen. Anhand der ausgewählten Sprache, wird die Datenbank (z.B. alle deutschsprachigen Elemente) in eine Hashtable geladen. Soweit so gut. Nun zu meiner Frage bzw. Fragen:
Diese Anwendung beinhaltet mehrere Formulare (ca. 10).

  • Gibt es die Möglichkeit, nach der Sprachauswahl bei allen Steuerelementen, die in diesem Softwareprojekt vorkommen, die Texte neu setzen zulassen? Auch wenn Formulare noch nicht geladen wurden?

  • Wie kann ich z.B. auf Labels anderen Klassen zugreifen (geht es mit Get, Set?)?

schon mal vielen Dank

Gruß
David

„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay

F
101 Beiträge seit 2005
vor 17 Jahren

im .Net-Framework gibt es die Möglichkeit Metainformationen in Form von Attributen zu setzen. Damit ist es möglich "zu übersetzenede" Elemente zu markieren und in den dazugehörigen Methoden zu übersetzen.

F
10.010 Beiträge seit 2004
vor 17 Jahren

Schon mal Localization in der hilfe eingegeben?

96 Beiträge seit 2006
vor 17 Jahren

Genau... hätte ich auch mit Lokalisierung gemacht.

  • Eigenschaft Localizable auf true stellen.
  • Nach dem alle Steuerelemente hinzugefügt wurden die Eigenschaft Language auf die entsprechende Sprache setzten.

Wenn Language nun geändert wird kann man einfach mehrere Sprachen eingeben.

Weiss eigentlich jemand wo diese Sprach-Information gespeichert wird? Auslagern wäre scho noch cool...

379 Beiträge seit 2004
vor 17 Jahren

@Vido,

soweit ich weiß werden diese pro Datei in die *.resx-Dateien gespeichert. Es wird dann für jede Sprache eine eigene Datei angelegt z.B. *.de.resx oder so ähnlich. Habe das selber noch nicht gemcht aber von gelesen und es auch schon oft gelesen.

ciao Anke

D
davidG Themenstarter:in
67 Beiträge seit 2006
vor 17 Jahren

danke für die Antworten, dann werde ich es mal so ausprobieren

„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay