Share via


Vorbereiten einer Ressourcenkonfigurationsdatei

Sowohl die unter Ressourcenhilfsprogramme beschriebenen MUIRCT- als auch die RC-Compiler-Hilfsprogramme bieten eine Befehlszeilenoption, mit der Sie eine Ressourcenkonfigurationsdatei für die Basissprachressourcen angeben können. Die Verwendung dieser öffentlichen, lesbaren XML-Datei ermöglicht mehr Kontrolle über die Aufteilung von Ressourcen, als mit den regulären Befehlszeilenschaltern der Hilfsprogramme erreicht werden kann. Selbst wenn Sie jedoch keine Ressourcenkonfigurationsdatei als Eingabe angeben, enthalten die LN- und sprachspezifischen Ressourcendateien Ressourcenkonfigurationsdaten.

Alle Ressourcenkonfigurationsdateien für Win32-Anwendungen beginnen und enden identisch:

<?xml version="1.0" encoding="utf-8"?> 
<localization>

<resources>
        
        <!-- a single win32Resources element goes here -->

</resources>
</localization>

In diesem Thema werden die Aspekte des XML-Schemas behandelt, die beim Erstellen von nicht verwaltetem Code unter Windows Vista und höher nützlich sind. Insbesondere geht es nur um das Verhalten des win32Resources-Elements.

win32Resources-Element

Das win32Resources-Element verfügt über die in der folgenden Tabelle beschriebenen Attribute.

Attributname Obligatorisch. BESCHREIBUNG
fileType Nein Dateityp. Sollte immer "Anwendung" sein.
Prüfsumme Nein Prüfsummenwert, der in den Ressourcenkonfigurationsdaten der LN-Datei und sprachspezifischen Ressourcendateien angezeigt werden soll. Mit diesem Attribut können Sie z. B. die Prüfsumme aus einer einzelnen sprachspezifischen Ressourcendatei kopieren, gemäß Konvention die für Englisch (USA), und die Prüfsumme in einer anderen sprachspezifischen Ressourcendatei ablegen. Die Prüfsumme kann als hexadezimale Zahlenzeichenfolge angegeben werden, die nicht länger als 32 Zeichen ist. Der numerische Wert muss in einer 128-Bit-Zahl enthalten sein.
language Nein Sprachtag kompatibel mit IETF BCP 47 (Windows Vista und höher), z. B. en-US für Englisch (USA).
ultimateFallbackLanguage Nein Sprache, die in die Ressourcenkonfigurationsdaten für die LN-Datei eingefügt werden soll. Dies stellt die ultimative Fallbacksprache dar, die bei der Suche nach einer entsprechenden sprachspezifischen Ressourcendatei verwendet werden soll. Wenn das Ressourcenladeprogramm eine angeforderte Ressourcendatei aus den bevorzugten Benutzeroberflächensprachen des Threads nicht lädt, verwendet er als letzter Versuch eine ultimative Fallbacksprache. Das Sprachtag, das mit IETF BCP 47 (Windows Vista und höher) kompatibel ist, z. B. en-US für Englisch (USA).
ultimateFallbackLocation Nein Fallbackspeicherort. Geben Sie "intern" an, wenn die endgültigen Fallbackressourcen in die LN-Datei kompiliert werden. Geben Sie "external" (Standard) an, wenn die LN-Datei auf eine sprachspezifische Ressourcendatei für die endgültigen Fallbackressourcen verweist.

In der Ressourcenkonfigurationsdatei enthält das win32Resources-Element die in der nächsten Tabelle beschriebenen Unterelemente.

Elementname BESCHREIBUNG
localizedResources Ressourcen, die Informationen zu den Ressourcentypen und einzelnen Ressourcen kapseln, die in einer sprachspezifischen Ressourcendatei enthalten sind.
neutralResources Ressourcen, die Informationen zu den in einer LN-Datei enthaltenen Ressourcentypen kapseln.

localizedResources-Element

Lokalisiertes Resources-Element. Standardmäßig verfügt dieses Element über keine Attribute und nur einen Unterelementtyp. Es handelt sich lediglich um einen Container für resourceType-Elemente.

Attributname Beschreibung
resourceType Typ einer einzelnen Ressource, die in einer sprachspezifischen Ressourcendatei enthalten ist.

neutralResources-Element

Neutral resources-Element. Dieses Element ist nur ein Container für resourceType-Elemente.

Attributname Beschreibung
resourceType Typ einer einzelnen Ressource, die in einer LN-Datei enthalten ist.

resourceType-Element

Das resourceType-Element kapselt Informationen zu einem einzelnen Ressourcentyp oder einer einzelnen Ressource. Es verfügt über die unten aufgeführten Attribute.

Achtung

Einige Fehler bei der Ressourcenkonfiguration werden abhängig vom Inhalt der Eingaberessourcendatei oder binärdatei nur vom RC-Compiler oder MUIRCT abgefangen. Die resourceType-Fehler in der Ressourcenkonfigurationsdatei, die in der Eingabedatei nicht vorhanden sind, werden nicht abgefangen, was zu unerwartetem Verhalten führt. Benutzer können eine fehlerhafte Ressourcenkonfigurationsdatei verwenden und wissen es erst, wenn sie Binärdateien einführen, die die fehlerhaften Teile der Ressourcenkonfigurationsdatei verwenden, wodurch das Aussehen entsteht, dass die Unterbrechungen aus den aktuellen Binärdateien stammen.

Attributname Obligatorisch. BESCHREIBUNG
typeNameId Ja Geben Sie den Namen oder bezeichner für die Ressource ein. Geben Sie einen Zeichenfolgennamen oder eine Zahl an. Wenn Sie eine Zahl verwenden, stellen Sie der Zeichenfolge ein "#" voran, um anzugeben, dass sie eine Zahl darstellt. Jedes resourceType-Element muss nur über ein typeNameId-Attribut verfügen.
itemName Nein Elementnamenzeichenfolge für die Ressource, die in der sprachspezifischen Ressourcendatei platziert werden soll. Sie können mehrere Namen angeben, getrennt durch Leerzeichen, z. B. "HTML MOFDATA".
itemId Nein Bezeichner des einzelnen Ressourcenelements, das in der sprachspezifischen Ressourcendatei platziert werden soll. Das Element kann als Bereich (z. B. "1-12") oder durch einzelne Bezeichner getrennt durch Leerzeichen (z. B. "1 3 4") angegeben werden.
stringId Nein Zeichenfolgenbezeichner für einzelne Ressourcenelemente, die in der sprachspezifischen Ressourcendatei platziert werden sollen. Die Zeichenfolge kann als Bereich (z. B. "1-12") oder durch einzelne Bezeichner getrennt durch Leerzeichen (z. B. "1 3 4") angegeben werden. Dieses Attribut ermöglicht die Angabe von lokalisierbaren und nicht lokalisierbaren Zeichenfolgentabelleneinträgen. Sie muss in Verbindung mit dem typeNameId-Wert von "6" verwendet werden, was einen Ressourcentyp für einen Zeichenfolgentabelleneintrag angibt.
Zeichenfolgen werden in Blöcken von 16 in einer Zeichenfolgentabelle gespeichert. Beispielsweise werden die Zeichenfolgen 0 bis 15 in einem einzelnen Ressourcenelementblock gespeichert und können in der Ressourcenkonfigurationsdatei als itemId 1 oder als stringId "0-15" referenziert werden. Wenn beispielsweise fünf lokalisierbare Zeichenfolgen und drei nicht lokalisierbare Zeichenfolgen vorhanden sind, sollten Sie die Zeichenfolgenbezeichner 0-4 für die lokalisierbaren Zeichenfolgen und die Zeichenfolgenbezeichner 16-18 für die nicht lokalisierbaren Zeichenfolgen zuweisen. Wenn Sie Zeichenfolgen nicht auf diese Weise organisieren, werden die betroffenen Zeichenfolgenblöcke sowohl in der LN-Datei als auch in der sprachspezifischen Ressourcendatei platziert.

Wenn Sie die Attribute itemName, itemId und/oder stringId für einen bestimmten Ressourcentyp unter dem localizedResource-Element angeben, werden nur diese angegebenen Elemente oder Zeichenfolgen für den angegebenen Ressourcentyp in die sprachspezifische Ressourcendatei eingefügt. Wenn ein resourceType-Element ohne expliziten Elementnamen, Elementbezeichner oder Zeichenfolgenbezeichner angegeben wird, werden alle Elemente des angegebenen Ressourcentyps in der sprachspezifischen Ressourcendatei platziert. Elemente oder Typen, die nicht in einem localizedResource-Element aufgeführt sind, werden in der LN-Datei platziert.

Im Folgenden sind die Standardressourcentypen und deren numerische Bezeichner aufgeführt:

  • CURSOR(1)
  • BITMAP(2)
  • ICON(3)
  • MENU(4)
  • DIALOG(5)
  • STRING(6)
  • FONTDIR(7)
  • SCHRIFTART(8)
  • ACCELERATORS(9)
  • RCDATA(10)
  • MESSAGETABLE(11)
  • GROUP_CURSOR(12)
  • GROUP_ICON(14)
  • VERSION(16)
  • HTML(23)

Beispiel

<?xml version="1.0" encoding="utf-8"?> 
<localization>
  <resources>
    <win32Resources fileType="Application">
      <neutralResources>
        <resourceType
           typeNameId="#16"
        />
      </neutralResources>
      <localizedResources> 
         <resourceType
                typeNameId="#2"
                itemId="5 6 7 8 9 10 11 12"
                itemName="HTML PRI"
         />
         <resourceType
                typeNameId="#4"
         />
         <resourceType
                typeNameId="#5"
         />
         <resourceType
                typeNameId="#6"
         />
         <resourceType
                typeNameId="#9"
         />
         <resourceType
                typeNameId="#11"
         />
         <resourceType
                typeNameId="#16"
         />
         <resourceType
                typeNameId="HTML"
         />
         <resourceType
                typeNameId="#23"
         />
         <resourceType
                typeNameId="#240"
         />
         <resourceType
                typeNameId="#1024"
         />
         <resourceType
                typeNameId="MY_TYPE"
         />
      </localizedResources> 
    </win32Resources>
  </resources>
</localization>

Bemerkungen

Wenn Sie einen beliebigen ICON(3), DIALOG(5), STRING(6) oder VERSION(16)-Ressourcentyp in das neutralResources-Element einschließen, müssen Sie diesen Eintrag im localizedResources-Element duplizieren. Dies wird im obigen Beispiel veranschaulicht, wo ressourcentyp 16 sowohl in neutralen als auch in lokalisierten Ressourcenabschnitten angezeigt wird.

Vorbereiten von Ressourcen