vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Dynamische Lokalisierung 
Autor: Wayko
Datum: 06.03.13 15:41

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
 DIM  AsVar as Assembly  = System.Reflection.Assembly.LoadFrom(PFAD)
meine englische DLL in das Assembly ein und mit
Dim temp As Global.System.Resources.ResourceManager = New _
  Global.System.Resources.ResourceManager("MEINPROGRAM.Texte", AsVar)
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.

 <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
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

Dim temp As Global.System.Resources.ResourceManager = New _
  Global.System.Resources.ResourceManager("MEINPROGRAM.Texte.EN", AsVar)
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 für eure Antworten

Wayko
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dynamische Lokalisierung1.162Wayko06.03.13 15:41
Re: Dynamische Lokalisierung631ModeratorFZelle07.03.13 09:34
Re: Dynamische Lokalisierung569Wayko11.03.13 08:40

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel