Tipp-Upload: VB.NET 0106: Lokalisierung
von Spatzenkanonier
Hinweis zum Tippvorschlag
Dieser Vorschlag wurde noch nicht auf Sinn und Inhalt überprüft und die Zip-Datei wurde noch nicht auf schädlichen Inhalt hin untersucht.
Bitte haben Sie ein wenig Geduld, bis die Freigabe erfolgt.
Über den Tipp
Dieser Tippvorschlag ist noch unbewertet.
Der Vorschlag ist in den folgenden Kategorien zu finden:
- Sprachmerkmale
Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
Lokalisierung,sprachen, Kultur,cultureinfo,globalisation
Der Vorschlag wurde erstellt am: 17.09.2007 02:23.
Die letzte Aktualisierung erfolgte am 04.07.2008 17:40.
Beschreibung
Das Entwickeln eine mehrsprachigen Anwendung ist eine grundlegende konzeptionelle Entscheidung.
Die Auswirkungen der Lokalisierung erstrecken sich nicht nur auf die Beschriftung von Controls, sondern auch auf Sortierreihenfolgen, Zahlen-Formatierung, Datum-Formatierung, Kalender-Einstellung und weitere.
Beispielsweise dürfte es einen englischen Kunden leicht verärgern, wenn seine Anwendung zwar englisch beschriftet ist, aber bei Zahlen-Eingaben das (deutschland-übliche) Komma als Dezimal-Trenner erwartet.
Daher sollte man sich umfassend in der MSDN über den Begriff "Lokalisierung" informieren, und die vorgesehene reichhaltige Unterstützung verwenden (und gründlich testen).
Bei konsequenter Umsetzung der vorgesehenen Konzepte ist es möglich, die Anwendung durchgehend in der Standard-Kultur (weiter-) zu entwickeln, und nachträglich die Unterstützung verschiedener Kulturen "dranzupatchen".
Hier wird nur der kleine Ausschnitt gezeigt, wie Beschriftung und Layout eines Forms im Designer kulturabhängig gestaltet werden können:
Man setzt einfach die .Localizable-Property des Forms auf True, und wählt dann die Sprache (.Language-Property), die unterstützt werden soll.
Anschließend gestaltet man die Controls der Ziel-Kultur entsprechend.
Gezeigt wird auch das "Culture-Fallback"-Feature: Existiert etwa für ein Control der belgischen Auslieferung keine explizit belgische Gestaltung, wird nach einer Gestaltung in der übergeordneten Kultur gesucht (hier: französisch).
Schwierigkeitsgrad |
Verwendete API-Aufrufe: |
Download: |
' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird. ' In den Zip-Dateien ist er jedoch zu finden. ' ----------- Anfang Projektgruppe MultiSpeach.sln ----------- ' ---------- Anfang Projektdatei MultiSpeach.vbproj ---------- ' ------------ Anfang Datei frmChooseLanguage.vb ------------ Imports System.Globalization Public Class frmChooseLanguage ' angeboten werden die Standard-Kultur, Englisch-amerikanisch (welches aber nicht ' unterstützt wird) Französisch-neutral, sowie alle Französisch-Kultur-Ableger Private Sub frmChoosLanguage_Load(ByVal sender As Object, ByVal e As EventArgs) Handles _ MyBase.Load Me.ListBox1.Items.Add(CultureInfo.CurrentUICulture.Name) Dim US As CultureInfo = CultureInfo.GetCultureInfo("en-US") Me.ListBox1.Items.Add(US.Name) Dim Fr As CultureInfo = CultureInfo.GetCultureInfo("fr") Me.ListBox1.Items.Add(Fr.Name) For Each Clt As CultureInfo In CultureInfo.GetCultures(CultureTypes.FrameworkCultures) If Clt.Parent.Name = Fr.Name Then Me.ListBox1.Items.Add(Clt.Name) End If Next End Sub Private Sub btOpenLocalized_Click(ByVal sender As Object, ByVal e As EventArgs) Handles _ btOpenLocalized.Click Dim Target As String = TryCast(ListBox1.SelectedItem, String) If Target Is Nothing Then MsgBox("keine Kultur angewählt") Else ' um die Wirkung der Lokalisierung sichtbar zu machen, muß die ' User-Interface-Kultur entsprechend eingestellt sein, bevor das Form gezeigt ' wird My.Application.ChangeUICulture(Target) Call (New frmMultiSpeach).Show() End If End Sub End Class ' ------------- Ende Datei frmChooseLanguage.vb ------------- ' -------------- Anfang Datei frmMultiSpeach.vb -------------- Public Class frmMultiSpeach ' kein Code - alles im Designer erstellt ' Beachten Sie, daß auch Position und Docking z.T. kulturspezifisch gestaltet ist End Class ' --------------- Ende Datei frmMultiSpeach.vb --------------- ' ----------- Ende Projektdatei MultiSpeach.vbproj ----------- ' ------------ Ende Projektgruppe MultiSpeach.sln ------------
Diskussion
Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.