Sprachumschaltung in Win-Form-Anwendung

17/01/2008 - 09:47 von Thomas Eisenmann | Report spam
Hallo alle miteinander,

Ich möchte mit VB 2005 eine Win-Form-Anwendung schreiben, in welcher der
User zu jedem Zeitpunkt die Möglichkeiten bekommen soll, die Texte auf der
Form (Labels, Button, Meldungen) in eine andere Sprache umzuschalten.

Mit VB6 hatte ich die Texte - mit Referenznummer versehen - in eine
ASCII-Datei abgelegt.
0 …. 1000 Deutsch
1001 … 2000 Englisch
2001 … 3000 xxx

Wird dies mit .Net ebenfalls so gelöst, oder gibt es elegantere
Lösungsansàtze? Es soll auch möglich sein, dass der Benutzer die Texte
eigenstàndig editieren können muss und einer bereits ausgelieferten Anwendung
eine Sprache „nachzureichen“.

Weiterhin ist es wichtig, Texte mit kyrillisch Zeichensatz (etwa Russisch)
oder auch Chinesische oder Japanisch Sprachen darstellen zu können.

Welche Lösungsansàtze gibt es und welche Vor- und Nachteile sind mit dem
jeweiligen Ansatz verbunden?

Danke im Voraus
Grüße Thomas
 

Lesen sie die antworten

#1 Peter Götz
17/01/2008 - 10:40 | Warnen spam
Hallo Thomas,

Ich möchte mit VB 2005 eine Win-Form-Anwendung schreiben,
in welcher der User zu jedem Zeitpunkt die Möglichkeiten
bekommen soll, die Texte auf der Form (Labels, Button,
Meldungen) in eine andere Sprache umzuschalten.



"Jeder Zeitpunkt" sollte noch etwas genauer definiert werden.
Immer dann, wenn die Sprache des Systems geàndert wird
oder unabhàngig davon, wenn der Benutzer die Sprache
z.B. via Menü im Programm àndert?

Neben den Beschriftungen auf Forms und div. Controls
dürften vermutlich auch die Texte für Fehlermeldungen
betroffen sein.
Da diese z.T. Meldungen des Systems und andererseits
auch im Programm generierte Texte sein können, gibt es
hier einen Konflikt zwischen Umschaltung je nach System-
sprache und Umschaltung via Programmmenü.


Mit VB6 hatte ich die Texte - mit Referenznummer versehen -
in eine > ASCII-Datei abgelegt.
0 .. 1000 Deutsch
1001 . 2000 Englisch
2001 . 3000 xxx

Wird dies mit .Net ebenfalls so gelöst,



Könnte man natürlich auch so machen, wobei der
o.g. Konflikt zwischen Systemfehlermeldungen und
Programmfehlermeldungen berücksichtigt werden muss.


oder gibt es elegantere Lösungsansàtze?



Bevorzugtes Vorgehen sollte die Verwendung von
Ressourcedateien sein, deren Einbindung und Bearbeitung
in VB.net ohnehin vorgesehen ist. Aber auch hier
gibt es den möglichen Konflikt zwischen Systemmeldungen
und programmspezifischen Meldungstexten.

Es soll auch möglich sein, dass der Benutzer die Texte
eigenstàndig editieren können muss



Das wàre bei Ressourcedateien nicht so ohne Weiteres
möglich.

und einer bereits ausgelieferten Anwendung
eine Sprache "nachzureichen".



Das wàre bei Ressourcedateien über entspr. Programmupdates
möglich.

Weiterhin ist es wichtig, Texte mit kyrillisch Zeichensatz
(etwa Russisch) oder auch Chinesische oder Japanisch
Sprachen darstellen zu können.



Ist in .net grundsàtzlich möglich.

Welche Lösungsansàtze gibt es und welche Vor- und
Nachteile sind mit dem jeweiligen Ansatz verbunden?



Eine für jede Art von Anwendung gültige Vorgehensweise
kann man kaum empfehlen.
Für Deine spez. Anwendung bràuchte man tiefergehende
Details zur eigentlichen Anwendung und auch zur geplanten
Art der spàteren Programmpflege (Updates usw.).

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen