Hallo Leute,
ich würde gerne meine Anwendung dynamisch Lokalisieren.
Ich habe auch alles so weit eingestellt (hab eine Texte.en.resx für englische Texte und Texte.resx für deutsche Texte) und alles wird generiert (auch meine DLL die im debug-Ordner unter EN/Test.resource.dll gespeichert wird.) und meine Masken sind deutsch und englisch.
Bei Programmstart wird aus einer Ini der Pfad gelesen wo die sich DLL befindet (diese wird an einen anderen Ort liegen weswegen der Ort in der Ini steht.), das funktioniert auch so weit gut.
Jetzt lese ich mit
meine englische DLL in das Assembly ein und mit
baue ich den Resourcen Manager zusammen, so das er mein geladenes Assembly nutzt.
Die .resx Dateien mit den Texten werden vom Designer automatisch generiert z.B.
hab ich jetzt die Möglichkeit meinen Code anstelle des Codes im Property des ResourcenManagers zu nutzen ohne das er immer gelöscht wird beim neugenerieren oder gibt es doch eine andere Möglichkeit während der Laufzeit die Sprachdatei einzulesen ohne für alle Texte von Hand das Auslesen zu benutzen und statt dessen, dass schon automatisch generierte Codestück (Fehler_Produkt als beispiel) zu nutzen?
Auch muss ich leider immer
machen, also .EN für englische Texte anhängen, um meine englischen Texte einzulesen bzw. das .EN weglassen für meine deutschen Texte. Gibt es da auch eine potentielle Lösung oder muss ich dieses .EN dranhängen weil in der DLL die generiert wurde keine deutschen Texte besitzt?
Vielen Dank im Vorraus
Wayko
ich würde gerne meine Anwendung dynamisch Lokalisieren.
Ich habe auch alles so weit eingestellt (hab eine Texte.en.resx für englische Texte und Texte.resx für deutsche Texte) und alles wird generiert (auch meine DLL die im debug-Ordner unter EN/Test.resource.dll gespeichert wird.) und meine Masken sind deutsch und englisch.
Bei Programmstart wird aus einer Ini der Pfad gelesen wo die sich DLL befindet (diese wird an einen anderen Ort liegen weswegen der Ort in der Ini steht.), das funktioniert auch so weit gut.
Jetzt lese ich mit
Code:
DIM AsVar as Assembly = System.Reflection.Assembly.LoadFrom(PFAD)
Code:
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MEINPROGRAM.Texte", AsVar)
Die .resx Dateien mit den Texten werden vom Designer automatisch generiert z.B.
Code:
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MEINPROGRAM.Texte", GetType(Texte).Assembly) resourceMan = temp End If Return resourceMan End Get End Property '''<summary> ''' Sucht eine lokalisierte Zeichenfolge, die Bitte wählen Sie erst ein Produkt" ähnelt. '''</summary> Friend Shared ReadOnly Property Fehler_Produkt() As String Get Return ResourceManager.GetString("Fehler_Produkt", resourceCulture) End Get End Property
Auch muss ich leider immer
Code:
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MEINPROGRAM.Texte.EN", AsVar)
Vielen Dank im Vorraus
Wayko
Comment