Schnellstart: Verwenden von Zeichenfolgenressourcen
Language: HTML | XAML

Schnellstart: Verwenden von Zeichenfolgenressourcen (XAML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Platzieren Sie Zeichenfolgenressourcen in separaten Ressourcendateien , und verweisen Sie von Ihrem Code oder Markup aus auf diese Zeichenfolgen.

Anweisungen

  1. Platzieren Sie Zeichenfolgen in einer Ressourcendatei, anstatt sie direkt im Code oder Markup zu platzieren.
    1. Öffnen Sie in Visual Studio „package.appxmanifest“, rufen Sie die Registerkarte Anwendung auf, und legen Sie die Standardsprache auf "en-US" fest. Wenn dies eine Universal-App ist, müssen Sie die Aktion für jede package.appxmanifest-Datei in Ihrer Lösung ausführen.
      Hinweis  Damit haben Sie die Standardsprache für das Projekt festgelegt. Die Standardsprachressourcen werden verwendet, wenn die bevorzugte Sprache des Benutzers oder die Anzeigesprachen nicht mit den von der Anwendung bereitgestellten Sprachressourcen übereinstimmen.
       
    2. Erstellen Sie eine Ressourcendatei in einem sprachspezifischen Ordner. Für die Ressourcendatei empfehlen wir, den Standarddateinamen zu verwenden. Apps können ihre Ressourcen in andere Dateien partitionieren. Dabei muss jedoch sichergestellt sein, dass richtig auf die Dateien verwiesen wird (siehe So wird’s gemacht: Laden von Zeichenfolgenressourcen).

      Hh965326.wedge(de-de,WIN.10).gifC# und VB

      1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt (das freigegebene Projekt, wenn es sich um eine Universal-App handelt), und wählen Sie Hinzufügen > Neuer Ordner aus.
      2. Geben Sie dem neuen Ordner den Namen "strings".
      3. Erstellen Sie einen Unterordner und eine Ressourcendatei für Englisch (USA).
        1. Klicken Sie mit der rechten Maustaste auf den Ordner „Strings“, und fügen Sie unterhalb davon einen neuen Ordner hinzu. Geben Sie dem neuen Ordner den Namen "en-US". Die Ressourcendatei befindet sich in einem Ordner mit dem BCP-47-Sprachtag. Details zum Sprachqualifizierer und eine Liste von häufigen Sprachtags finden Sie unter So wird’s gemacht: Benennen von Ressourcen mit Qualifizierern.
        2. Klicken Sie mit der rechten Maustaste auf den Ordner „en-US“, und wählen Sie Hinzufügen > Neues Element… aus.
        3. Wählen Sie "Ressourcendatei (.resw)".
        4. Klicken Sie auf Hinzufügen. Hierdurch wird eine Ressourcendatei mit dem Standardnamen "Resources.resw" hinzugefügt.
        5. Wenn Sie RESX-Dateien ausschließlich mit Zeichenfolgenressourcen aus vorherigen .NET-Projekten haben, wählen Sie Hinzufügen > Vorhandenes Element… aus, fügen Sie die RESX-Datei hinzu, und benennen Sie sie in RESW um.

      Hh965326.wedge(de-de,WIN.10).gifC++

      1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projektelement, und wählen Sie Hinzufügen > Neues Element….
      2. Wählen Sie „Ressourcendatei (.resw)“ aus, und geben Sie in das Textfeld „Speicherort“ die Zeichenfolge „<ProjectRootPath>\Strings\en-US“ ein, um einen Unterordner für Zeichenfolgen in Englisch (USA) zu erstellen.
  2. Öffnen Sie die Datei, und fügen Sie mit dem Editor zwei neue Ressourcen hinzu:

    "Strings/en-US/Resources.resw"

    Editor zum Hinzufügen von Ressourcen

    In diesem Beispiel sind "Greeting" und "Farewell" die Schlüssel zum Identifizieren der Ressourcenzeichenfolgen. "Greeting.Text" und "Greeting.Width" identifizieren bestimmte, von den verweisenden Steuerelementen unterstützte Eigenschaften. Kommentare eignen sich gut, um ggf. zusätzliche Anweisungen für Übersetzer bereitzustellen, die die Zeichenfolgen in andere Sprachen lokalisieren.

    Hinweis zu Eigenschaftsbezeichnern:  

    Die Ressource „Name“ kann nur mit Eigenschaftsbezeichnern qualifiziert werden, die von allen Steuerelementen unterstützt werden, die auf die Ressource verweisen. Wenn eine in der Ressourcendatei angegebene Eigenschaft keinem verweisenden Steuerelement zugewiesen werden kann, tritt eine Laufzeitausnahme auf.

    Die GetString-Methode kann keine mit einem Eigenschaftsbezeichner qualifizierten Ressourcen abrufen. In diesem Beispiel gibt GetString("Farewell") den Wert "Goodbye" zurück, während GetString("Greeting.Text") und GetString("Greeting") einen Fehler verursachen.

  3. Ordnen Sie Steuerelemente zu Ressourcen zu.

    Sie müssen jedes Steuerelement, das lokalisierten Text erfordert, mit der RESW-Datei verknüpfen. Verwenden Sie dazu das x:Uid-Attribut in den XAML-Elementen wie folgt:

    
    <TextBlock x:Uid="Greeting" Text="" />
    
    

    Für den Ressourcennamen geben Sie den Uid-Attributwert und die Eigenschaft an, die die übersetzte Zeichenfolge erhält (in diesem Fall die Eigenschaft "Text"). Sie können andere Eigenschaften/Werte für verschiedene Sprachen festlegen, z. B. "Greeting.Width". Sie sollten mit solchen layoutbezogenen Eigenschaften jedoch vorsichtig umgehen. Versuchen Sie stets, ein dynamisches Layout auf Grundlage des Gerätebildschirms für die Steuerelemente zu verwenden.

    Beachten Sie weiterhin, dass die verknüpften Eigenschaften unterschiedlich in RESW-Dateien behandelt werden, z. B. "AutomationPeer.Name". Sie müssen den Namespace explizit wie folgt ausschreiben:

    
    MediumButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name
    
    
  4. Hinzufügen von Zeichenfolgenressourcen-Bezeichnern im Code und im Markup

    Sie können in Ihrem Code dynamisch auf Zeichenfolgen verweisen:

    
    
    var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
    var str = loader.GetString("Farewell");
    
    
    

Weitere Details zum Hinzufügen von Lokalisierung und weiteren Sprachen finden Sie unter Schnellstart: Übersetzen von UI-Ressourcen.

Verwandte Themen

So wird's gemacht: Benennen von Ressourcen mit Qualifizierern
So wird's gemacht: Laden von Zeichenfolgenressourcen
Schnellstart: Übersetzen von UI-Ressourcen
Roadmap für Windows-Runtime-Apps mit C# oder Visual Basic
Das BCP-47-Sprachtag

 

 

Anzeigen:
© 2017 Microsoft