combit List & Label 29 - .NET Hilfe
Einführung in die Programmierung / Weitere wichtige Konzepte / Projektdateien im Designer lokalisieren
In diesem Thema
    Projektdateien im Designer lokalisieren
    In diesem Thema

    Damit Projekte für mehrsprachige Teams und in internationalen Projekten verwendet werden können, ist es im Designer von List & Label möglich sowohl Sprachen anzumelden, wie auch die Elemente wie Tabellen, Felder, Variablen aus der Datenquelle und sogar auch Freitexte zu übersetzen.

     

     

    Sprachen im Designer anmelden

    Im Designer können verschiedene Sprachen angemeldet werden, um damit später Projektdateien einfach lokalisieren zu können. Hier werden nun die drei Sprachen Englisch, Deutsch und Französisch angemeldet und können später im Designer vom Anwender einfach im Menü gewechselt werden:

                    
    // Define LCIDs
    int designerLanguageLCIDen = new CultureInfo("en").LCID;
    int designerLanguageLCIDde = new CultureInfo("de").LCID;
    int designerLanguageLCIDfr = new CultureInfo("fr").LCID;
    
    // Add/declare the available design languages
    // according to their respective LCID
    LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDde);
    LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDen);
    LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDfr);
    
                    
    ' Define LCIDs
    Dim designerLanguageLCIDen As Integer = New CultureInfo("en").LCID
    Dim designerLanguageLCIDde As Integer = New CultureInfo("de").LCID
    Dim designerLanguageLCIDfr As Integer = New CultureInfo("fr").LCID
    
    ' Add/declare the available design languages
    ' according to their respective LCID
    LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDde)
    LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDen)
    LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDfr)
    

     

    Übersetzungen definieren

    Nun müssen noch die einzelnen Übersetzungen für jede hinzugefügten Sprachen durchgeführt und angemeldet werden.

                                    
    // Clear Dictionary
    LL.Dictionary.Clear();
    
    // The original identifiers are used for English,
    // only the other languages have to be localized
    
    // German localization
    // Localize table names
    LL.Dictionary.Tables.Add("Orders", "Bestellungen", designerLanguageLCIDde);
    
    // Localize relation names
    LL.Dictionary.Relations.Add("Orders2OrderDetails", "Bestellungen/Bestellposten", designerLanguageLCIDde);
    
    // Localize field names
    LL.Dictionary.Identifiers.Add("ProductID", "ProduktID", designerLanguageLCIDde);
    LL.Dictionary.Identifiers.Add("ProductName", "Produktname", designerLanguageLCIDde);
    
    // Localize additional static texts
    LL.Dictionary.StaticTexts.Add("Language", "Deutsch", designerLanguageLCIDde);
    LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Verkäufe nach Jahren", designerLanguageLCIDde);
    
    // French localization
    // Localize table names
    LL.Dictionary.Tables.Add("Orders", "Commandes", designerLanguageLCIDfr);
    
    // Localize relation names
    LL.Dictionary.Relations.Add("Orders2OrderDetails", "Commandes2DétailsDesCommandes", designerLanguageLCIDfr);
    
    // Localize field names
    LL.Dictionary.Identifiers.Add("ProductID", "ProduitID", designerLanguageLCIDfr);
    LL.Dictionary.Identifiers.Add("ProductName", "NomDuProduit", designerLanguageLCIDfr);
    
    // Localize additional static texts
    LL.Dictionary.StaticTexts.Add("Language", "Français", designerLanguageLCIDfr);
    LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Chiffre d´affaires à année", designerLanguageLCIDfr);
    
                    
    ' Clear Dictionary
    LL.Dictionary.Clear()
    
    ' The original identifiers are used for English,
    ' only the other languages have to be localized
    
    ' German localization
    ' Localize table names
    LL.Dictionary.Tables.Add("Orders", "Bestellungen", designerLanguageLCIDde)
    
    ' Localize relation names
    LL.Dictionary.Relations.Add("Orders2OrderDetails", "Bestellungen/Bestellposten", designerLanguageLCIDde)
    
    ' Localize field names
    LL.Dictionary.Identifiers.Add("ProductID", "ProduktID", designerLanguageLCIDde)
    LL.Dictionary.Identifiers.Add("ProductName", "Produktname", designerLanguageLCIDde)
    
    ' Localize additional static texts
    LL.Dictionary.StaticTexts.Add("Language", "Deutsch", designerLanguageLCIDde)
    LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Verkäufe nach Jahren", designerLanguageLCIDde)
    
    ' French localization
    ' Localize table names
    LL.Dictionary.Tables.Add("Orders", "Commandes", designerLanguageLCIDfr)
    
    ' Localize relation names
    LL.Dictionary.Relations.Add("Orders2OrderDetails", "Commandes2DétailsDesCommandes", designerLanguageLCIDfr)
    
    ' Localize field names
    LL.Dictionary.Identifiers.Add("ProductID", "ProduitID", designerLanguageLCIDfr)
    LL.Dictionary.Identifiers.Add("ProductName", "NomDuProduit", designerLanguageLCIDfr)
    
    ' Localize additional static texts
    LL.Dictionary.StaticTexts.Add("Language", "Français", designerLanguageLCIDfr)
    LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Chiffre d´affaires à année", designerLanguageLCIDfr)
    

     

    Beispiel

    Ein voll funktionsfähiges Beispiel, dass die gesamte Lokalisierung zeigt, findet sich in den installierten Microsoft .NET Beispielen - sowohl in C# als auch in VB.NET.