schachmat
Erfahrenes Mitglied
Hallo,
ich hab mal versucht das Programm BankautomatInternational aus Kapitel12 des VB2005-Kompendiums zu erweitern und in meinem Projekt zu verwenden. Dabei bin ich auf einige Fragen / Probleme gestoßen. Aber erstmal eine Erklärung, um was es in diesem Programm geht, damit auch alle mitreden können:
Ziel ist es eine Mehrsprachige Anwendung zu erstellen. Dafür wird eine neue Resourcendatei erstellt (BI.resx). In dieser Datei werden die Bezeichnungen der UI-Elemente in der Standardsprache als Zeichenfolgen gespeichert. Für die Sprache Enlisch wird eine neue Resourcendatei mit namen "BI.en-GB.resx" hinzugefügt. Bei allen weiteren Sprachen sollte dieses Format eingehalten werden: "Projektname.Sprache.resx"
Es wird eine Funktion LadeUI() implementiert, in der die entsprechenden Werte gesetzt werden. Vor dem Aufruf dieser Funktion wird immer die CurrentUICulture des aktuellen Threads geändert.
Jetzt das Problem:
In diesem Beispiel wird nur Deutsch und Enlisch "implementiert" und deshalb die Auswahl auch nur auf zwei Radiobuttons beschränkt. Wenn ich aber nun die Auswahl in eine Kombobox packen möchte, die automatisch erkennt, in welchen Sprachen diese Resourcendatei vorhanden ist.... Woher kann ich das rausfinden, in welchen Sprachen diese Resourcendatei vorhanden ist?
Nun noch eine Frage:
Die erste normale Resourcendatei (BI.resx) wird nicht zu einer ".dll" kompiliert (jedenfalls hab ich keine gefunden). Wird die dann direkt in die ".exe" kompiliert?
Jede weitere Sprache wird in ein entsprechendes Unterverzeichniss des Bin\Debug oder Bin\Release Ordners (z.B. "Bin\Debug\en-GB\") kompiliert und liegt dann dort als "Projektname.resources.dll" vor.
Danke schonmal für alle Arten von Antworten (auch für eine Verschiebung ins richtige Unterforum, falls das hier falsch is^^)
ich hab mal versucht das Programm BankautomatInternational aus Kapitel12 des VB2005-Kompendiums zu erweitern und in meinem Projekt zu verwenden. Dabei bin ich auf einige Fragen / Probleme gestoßen. Aber erstmal eine Erklärung, um was es in diesem Programm geht, damit auch alle mitreden können:
Ziel ist es eine Mehrsprachige Anwendung zu erstellen. Dafür wird eine neue Resourcendatei erstellt (BI.resx). In dieser Datei werden die Bezeichnungen der UI-Elemente in der Standardsprache als Zeichenfolgen gespeichert. Für die Sprache Enlisch wird eine neue Resourcendatei mit namen "BI.en-GB.resx" hinzugefügt. Bei allen weiteren Sprachen sollte dieses Format eingehalten werden: "Projektname.Sprache.resx"
Es wird eine Funktion LadeUI() implementiert, in der die entsprechenden Werte gesetzt werden. Vor dem Aufruf dieser Funktion wird immer die CurrentUICulture des aktuellen Threads geändert.
Jetzt das Problem:
In diesem Beispiel wird nur Deutsch und Enlisch "implementiert" und deshalb die Auswahl auch nur auf zwei Radiobuttons beschränkt. Wenn ich aber nun die Auswahl in eine Kombobox packen möchte, die automatisch erkennt, in welchen Sprachen diese Resourcendatei vorhanden ist.... Woher kann ich das rausfinden, in welchen Sprachen diese Resourcendatei vorhanden ist?
Nun noch eine Frage:
Die erste normale Resourcendatei (BI.resx) wird nicht zu einer ".dll" kompiliert (jedenfalls hab ich keine gefunden). Wird die dann direkt in die ".exe" kompiliert?
Jede weitere Sprache wird in ein entsprechendes Unterverzeichniss des Bin\Debug oder Bin\Release Ordners (z.B. "Bin\Debug\en-GB\") kompiliert und liegt dann dort als "Projektname.resources.dll" vor.
Danke schonmal für alle Arten von Antworten (auch für eine Verschiebung ins richtige Unterforum, falls das hier falsch is^^)