So wird’s gemacht: Benennen von Ressourcen mit Qualifizierern (HTML)

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

Sie können Ressourcen mithilfe von Qualifizierern benennen. Die Qualifizierer geben den Kontext an, in dem eine Version einer Ressource verwendet werden soll.

Ressourcenqualifizierer

Sie können die Datei- und Zeichenfolgenressourcen so gestalten, dass sie unter anderem mehrere Darstellungsmaßstäbe, Benutzeroberflächensprachen und Einstellungen für hohen Kontrast unterstützen. Ressourcenqualifizierer sind Ordner- und Dateinamenmodifikatoren, die den Kontext angeben, in dem eine bestimmte Version einer Ressource verwendet werden soll.

Standardmäßig wird die folgende Benennungskonvention verwendet:

foldername/qualifiername-value_qualifiername-value/filename.qualifiername-value_qualifiername-value.ext

Beispiel:

Images/en-US/homeregion-USA/logo.scale-100_contrast-white.png

wird geladen, indem auf Folgendes verwiesen wird:

Images/logo.png

Hinweis  Wir empfehlen, bei Zeichenfolgenressourcendateien die Standardsprache (Beispiel: en-US\resources.resw) und bei Bildern die Standardskalierung (Beispiel: logo.scale-100.png) zu markieren, auch wenn diese Dateien nicht lokalisiert bzw. keine Bilder in unterschiedlichen Auflösungen bereitgestellt werden.

 

Vollständige Ordnernamen werden auf Qualifizierer hin analysiert. Die Ordnernamen werden dann mit einer Gruppe von Qualifizierern abgeglichen oder als Teil eines logischen Dateipfads betrachtet. Das gepunktete Segment in der Datei direkt vor der Dateierweiterung wird als Token betrachtet, das auf Qualifizierer hinweist. Mehrere Qualifizierer werden durch einen Unterstrich getrennt, und die einzelnen Qualifizierer werden üblicherweise mit Namen und Wert angegeben. Ausgenommen hiervon ist nur die Sprache, wenn sie in einem Ordnernamen verwendet wird.

Je nach verwendetem Workflow und den Anforderungen der App können App-Entwickler entweder Ordner- oder Dateinamen verwenden, um Ressourcen für eine bestimmte Kontextgruppe anzugeben, oder die beiden Strategien kombinieren.

Die korrekte Ressource wird zur Laufzeit automatisch ausgewählt. Grundlage hierfür bilden der Qualifizierer der jeweiligen Ressource sowie der aktuelle Kontext. Angenommen, Sie stellen folgende Ressourcen bereit:

en-us\logo.scale-100.png
en-us\logo.scale-140.png
fr-fr\logo.scale-100.png
fr-fr\logo.scale-140.png

Ein Benutzer, der Englisch (Vereinigte Staaten) bei einer Bildschirmskalierung von 140 bevorzugt, sieht dann das Bild en-us\logo.scale-140.png. Ausführliche Informationen zur Ressourcenauswahl in komplexeren Fallbackszenarien finden Sie unter Ressourcenkontext.

Die restlichen Abschnitte dieses Themas enthalten ausführliche Informationen zu den Qualifizierern und den möglichen Werten für die einzelnen Dimensionen, die die Ressourceninfrastruktur unterstützt.

Wichtig  Die hier beschriebenen Formate gelten innerhalb des Qualifizierersegments eines Dateinamens (oder Ordnernamens bei Sprachen). Einer oder mehrere Qualifizierer sollten als einzelnes Segment innerhalb des vollständigen Dateinamens enthalten sein, der nach dem Ressourcennamen und vor der Dateierweiterung steht, wie im folgenden (hauptsächlich aus Platzhaltern bestehenden) Format veranschaulicht: name**.qualifiers.**ext. Die hier angegebenen Punkte (.) sind wichtig, da sie das Syntaxtrennzeichen zwischen den Segmenten darstellen. Andernfalls können keine Punkte innerhalb eines der Qualifiziererformate verwendet werden.

 

Sprache (App)

Der Sprachqualifizierer gibt die Sprache vom Typ BCP-47 der Ressource an. Für Dateinamen muss der Qualifizierer lang oder language zusammen mit dem Sprachtag angegeben werden. Bei Ordnern ist nur das Sprachtag erforderlich. Eine Liste der Sprachen finden Sie unter IANA Language Subtag Registry.

Formate für Ordnernamen:

  • <Any BCP-47 language tag>
  • lang-<Any BCP-47 language tag>
  • language-<Beliebiges BCP-47-Sprachtag>

Formate für Dateinamen:

  • lang-<Any BCP-47 language tag>
  • language-<Any BCP-47 language tag>

Beispiele:

es-MX/resources.resw
language-de-DE/UI.resw
images/logo.lang-fr-FR.png

Der Sprachqualifizierer wird mit der App-Sprachenliste abgeglichen. Änderungen an der App-Sprache zur Laufzeit werden als Ereignisse weitergegeben (siehe ResourceContext.QualifierValues). Eine App muss die Sprache nicht festlegen oder überschreiben.

Skalierungswert

Der Skalierungsqualifizierer gibt den Skalierungsfaktor der Ressource an. Dieser Qualifizierer wird üblicherweise für Bilder verwendet, die auf einem Gerät mit einem höheren DPI-Wert oder in einer vergrößerten App betrachtet werden. Die Skalierung einer Ressource entspricht dem Wert von Windows.Graphics.Display.DisplayProperties.ResolutionScale oder der Ressource mit der nächstgrößeren Skalierung. Wenn Sie den Skalierungsqualifizierer für eine Ressource verwenden, sollten Sie keinen targetsize-Qualifizierer verwenden.

Skalierungsqualifizierer:

  • scale-80 (Gilt nur für Ressourcen, die im App-Manifest angegeben wurden)
  • scale-100
  • scale-140
  • scale-180 (Windows)
  • scale-240 (Windows Phone)

Änderungen an der Skalierung zur Laufzeit werden als Ereignisse verteilt (siehe ResourceContext.QualifierValues).

Kontrast

Der Kontrastqualifizierer gibt die Einstellung für das Kontrastdesign des Systems an. Standard wird verwendet, wenn alle Designs für hohen Kontrast deaktiviert sind. High ist in jedem Modus mit hohem Kontrast gültig. Black gibt an, dass Bilder mit einem schwarzen Hintergrund und einem weißen Vordergrund bevorzugt werden. White gibt an, dass Bilder mit einem weißen Hintergrund und einem schwarzen Vordergrund bevorzugt werden. Die Designeinstellungen High Contrast #1 und High Contrast #2 entsprechen dem Qualifiziererwert Black.

contrast-standard
contrast-high
contrast-black
contrast-white

Heimatregion

Der Qualifizierer für die Heimatregion steht für den Wohnort des Benutzers. Dieser wird üblicherweise bei der Installation von Windows angegeben und kann über die Systemsteuerung aufgerufen werden. Dieser Qualifizierer (ResourceContext.QualifierValues) wird häufig überschrieben, falls ein anderer Datenanbieter für den Ort bekannt ist. Als Wert kann ein beliebiges gültiges Regionstag vom Typ BCP-47 angegeben werden – also ein beliebiger zweistelliger Regionscode vom Typ ISO-3166-1 (Alpha 2) und der Satz der dreistelligen Geografiecodes vom Typ ISO-3166-1 (numerisch) (siehe Zusammenstellung von Regionscodes der Statistikabteilung der Vereinten Nationen (M49).) Beachten Sie, dass Codes für "bestimmte wirtschaftliche und andere Gruppierungen" ungültig sind.

Format für die Heimatregion:

homeregion-<Region Code>

Beispiele:

homeregion-us
homeregion-jp
homeregion-419

Der Qualifizierer für die Heimatregion entspricht jeglicher übergeordneten zusammengestellten Region.

Zielgröße

Mit dem Zielgrößenqualifizierer können Sie Ressourcen mit einer bestimmten Größe (in Pixeln) angeben. Er dient in erster Linie zum Angeben von Dateityp-Zuordnungssymbolen oder Protokollsymbolen, die im Windows-Explorer (Desktop) angezeigt werden. Dieser Qualifizierer wird üblicherweise für quadratische Bilder oder Symbole verwendet und gibt lediglich eine einzelne Bilddimension an. Systeme oder Apps, die die Ressource (ResourceContext.QualifierValues) anfordern, müssen explizit eine Zielgröße angeben. Es gibt keinen Standardwert. Wenn Sie den Zielgrößenqualifizierer für eine Ressource verwenden, sollten Sie keinen Skalierungsqualifizierer verwenden.

Format für die Zielgröße:

targetsize-<any positive integer>

Beispiele:

targetsize-16
targetsize-96

Der Zielgrößenkontext entspricht der nächstgrößeren qualifizierten Ressource.

Layoutrichtung

Der Layoutqualifizierer dient zum Angeben von Ressourcen, die die Ausrichtung bestimmter Leserichtungen und Textausrichtungen anwenden. Beispielsweise muss ein Bild für eine Rechts-nach-links-Sprache wie Arabisch oder Hebräisch unter Umständen gespiegelt werden. Die meisten Apps können Bilder mithilfe automatischer Flipping-Mechanismen zur Laufzeit spiegeln. Dieser Qualifizierer ist jedoch für Situationen gedacht, in denen einfaches Flipping nicht geeignet ist. Weitere Informationen finden Sie unter So wird's gemacht: Anpassen des Layouts für Rechts-nach-links-Sprachen und Lokalisieren von Schriftarten.

Format für die Layoutrichtung:

  • layoutdir-LTR
  • layoutdir-RTL
  • layoutdir-TTBLTR
  • layoutdir-TTBRTL

Konfiguration

Der Konfigurationsqualifizierer dient zum Angeben von Ressourcen, die nur für eine bestimmte Umgebung zur Erstellungszeit gültig sind (beispielsweise Ressourcen zu Testzwecken). Diese Option wird voraussichtlich nur von den wenigsten App-Entwicklern benötigt. Die Umgebungsvariable MS_CONFIGURATION_ATTRIBUTE_VALUE kann auf den Zeichenfolgenwert festgelegt werden, der den relevanten Ressourcen zugewiesen wurde (beispielsweise test).

Format für die Konfiguration:

config-<MS_CONFIGURATION_ATTRIBUTE_VALUE>

Beispiele:

config-test
config-designer

Alternativformat

Mit dem Alternativformatqualifizierer können Sie ein alternatives Format einer Ressource für einen speziellen Zweck angeben. Diese Option wird üblicherweise nur von japanischen App-Entwicklern zum Angeben einer Furigana-Zeichenfolge verwendet, für die der Wert msft-phonetic reserviert ist. Das System oder die App muss einen Wert angeben, um diesen Qualifizierer in bestimmten Situationen zu verwenden. Es gibt keinen Standardwert. Verwenden Sie das Präfix msft- nicht für eigene benutzerdefinierte Werte.

Alternatives Format:

altform-<Any string between 1 and 16 chars>

Beispiele:

altform-msft-phonetic
altform-myapp-special

DirectX-Featureebene

Der DirectX-Featureebenenqualifizierer stellt die DirectX-Featureebene von Grafikadaptern dar, die zum Rendern der Ressource verwendet werden. Dies wird für gewöhnlich für Direct3D-Darstellungsobjekte in Spielen verwendet. Die DirectX-Featureebene einer Ressource gleicht einen explizit für einen Ressourcekontext durch die App festgelegten Wert ab. Steht keine Ressource mit exakt demselben DirectX-Featureebenenwert zur Verfügung, wird die Ressource mit dem nächstniedrigeren Wert verwendet, die verfügbar ist.

Hinweis  Der DirectX-Featureebenenqualifizierer wird in Windows 8.1 und höher unterstützt.

 

Für den DirectX-Featureebenenqualifizierer stehen zwei mögliche Formate zur Verfügung. Unterstützte Werte sind DX9, DX10 und DX11.

Format für die DirectX-Featureebene

  • DXFeatureLevel-<value>
  • DXFL-<value>

Beispiele:

DXFeatureLevel-DX10
DXFL-DX11

Anmerkungen

Wie bereits erwähnt, können diese Formate innerhalb der Gruppe von Qualifizierern kombiniert werden, wenn mehrere Qualifizierermuster für dasselbe Ressourcenszenario unterstützt werden müssen. Das Trennzeichen, das zwischen Qualifizierermustern verwendet werden muss, ist der Unterstrich (_). Dies ist beispielsweise ein Pfad zu einer Ressourcendatei, die die Konfiguration, Skalierung und Layoutrichtung explizit unterstützt: logo.config-test_scale-100_layoutdir-LTR.png

Verwandte Themen

Richtlinien zum Skalieren auf die Pixeldichte

Unterstützen von Designs mit hohem Kontrast

So wird's gemacht: Verwalten von Sprache und Region

So wird's gemacht: Anpassen des Layouts für Rechts-nach-links-Sprachen und Lokalisieren von Schriftarten

So wird's gemacht: Vorbereiten für die Lokalisierung

So wird's gemacht: Zuweisen eines benutzerdefinierten Symbols zu einem Dateityp

Hinzufügen von Symbolen, Vorschauen und Kontextmenüs

Windows.ApplicationModel.Resources.Core.ResourceContext.QualifierValues

Windows.Graphics.Display.DisplayProperties.ResolutionScale

Externe Links

Das BCP-47-Sprachtag

IANA Language Subtag Registry

Zusammenstellung von Regionscodes der Statistikabteilung der Vereinten Nationen (M49)