Gewusst wie: Festlegen der Kultur und Benutzeroberflächenkultur für die Windows Forms-Lokalisierung

Die beiden Kulturwerte einer Visual Basic-Anwendung oder einer Visual C#-Anwendung bestimmen, welche Ressourcen für die Anwendung geladen und wie Währungs-, Zahlen- und Datumsangaben formatiert werden. Die geladenen Ressourcen richten sich nach der benutzeroberflächenspezifischen Kultureinstellung und die Formatoptionen nach der Kultureinstellung. Eine Anwendung durchsucht zunächst die CurrentCulture-Eigenschaft und CurrentUICulture-Eigenschaft nach Kulturwerten. Sie können diese Werte in Code festlegen, wie in der folgenden Prozedur gezeigt.

Der Standardwert der CurrentCulture-Eigenschaft ist das Benutzergebietsschema des Betriebssystems, das in der Systemsteuerung unter Ländereinstellungen festgelegt wird. Der Standardwert der CurrentUICulture-Eigenschaft ist die Sprache der Benutzeroberfläche (UI) des Betriebssystems, d. h. die Sprache, die das Betriebssystem für die Benutzeroberfläche festlegt. Bei Windows 2000 und Windows XP MultiLanguage Edition entspricht der Standardwert von CurrentUICulture den aktuellen, vom Benutzer festgelegten Spracheinstellungen der Benutzeroberfläche.

In manchen Fällen muss eine Zahlen- oder Datumsangabe unverändert bleiben, während für die Anwendung ansonsten die Kultureinstellungen des Betriebssystems oder des Benutzers gelten. Mit kulturspezifischen Klassen können Sie diese Informationen mit der invarianten Kultur formatieren, die der englischen Sprache, jedoch keiner bestimmten Region zugeordnet wird. Weitere Informationen zu diesen Klassen finden Sie unter Formatting for Different Cultures und System.Globalization. Weitere Informationen über die invariante Kultur finden Sie unter InvariantCulture. Informationen über mögliche Kultureinstellungen finden Sie unter CultureInfo.

So legen Sie einer spezifischen Kultur entsprechende Formatoptionen fest

  1. Wenn Sie die Einstellungen des Benutzers oder Betriebssystems überschreiben möchten, legen Sie die CurrentCulture-Eigenschaft und CurrentUICulture-Eigenschaft fest.

    Im Allgemeinen ist es sinnvoll, eine Kultur festzulegen, damit alle Komponenten der Benutzeroberfläche einer Anwendung ihren Konventionen entsprechen. Die Kultur muss demnach festgelegt werden, bevor die InitializeComponent-Methode aufgerufen wird.

    ' Put the Imports statements at the beginning of the code module
    Imports System.Threading
    Imports System.Globalization
    ' Put the following code before InitializeComponent()
    ' Sets the culture to French (France)
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR")
    ' Sets the UI culture to French (France)
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR")
    
    // Put the using statements at the beginning of the code module
    using System.Threading;
    using System.Globalization;
    // Put the following code before InitializeComponent()
    // Sets the culture to French (France)
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
    // Sets the UI culture to French (France)
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    

    Tipp

    Der Kulturwert muss immer eine spezifische Kulturangabe sein (z. B. "fr-FR"), keine neutrale (z. B. "fr"). Eine neutrale Kulturangabe wie "fr" gilt nämlich für alle französischsprachigen Länder und Regionen, während in Frankreich, Belgien und Quebec unterschiedliche Währungen gelten.

  2. Rufen Sie Formatierungsmethoden mit der invarianten Kultur bei Zeichenfolgen auf, die, unabhängig vom Wert der CurrentCulture-Eigenschaft, unverändert bleiben sollen.

    Dim MyInt As Integer = 100
    Dim MyString As String = MyInt.ToString("C", CultureInfo.InvariantCulture)
    MessageBox.Show(MyString)
    
    int MyInt = 100;
    string MyString = MyInt.ToString("C", CultureInfo.InvariantCulture);
    MessageBox.Show(MyString);
    

Siehe auch

Referenz

CurrentCulture

CurrentUICulture

CultureInfo

Weitere Ressourcen

Globalisieren von Anwendungen

Globalisieren und Lokalisieren von Anwendungen

Globalisieren von Windows Forms