Lokalisieren von Nachrichtenzeichenfolgen
Jede Meldungszeichenfolge, die Sie im Manifest angeben, muss auf eine Zeichenfolge im Lokalisierungsabschnitt des Manifests verweisen. Der Lokalisierungsabschnitt enthält einen Zeichenfolgentabellenabschnitt für jedes gebietsschema, das Sie unterstützen.
Das folgende Beispiel zeigt, wie eine Zeichenfolgentabelle definiert wird. Sie müssen die ID- und Wertattribute der Zeichenfolge angeben. Sie verwenden den Wert des ID-Attributs, um auf die Zeichenfolge im Manifest zu verweisen. Das Value-Attribut enthält die lokalisierte Zeichenfolge.
<instrumentationManifest
xmlns="http://schemas.microsoft.com/win/2004/08/events"
xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<instrumentation>
<events>
<provider name="Microsoft-Windows-SampleProvider"
guid="{1db28f2e-8f80-4027-8c5a-a11f7f10f62d}"
symbol="PROVIDER_GUID"
resourceFileName="<path to the exe or dll that contains the metadata resources>"
messageFileName="<path to the exe or dll that contains the string resources>"
message="$(string.ProviderName)">
. . .
</provider>
</events>
</instrumentation>
<localization>
<resources culture="en-US">
<stringTable>
<string id="ProviderName" value="Sample Provider"/>
<string id="PathNotFound" value="The path %1 was not found."/>
</stringTable>
</resources>
</localization>
</instrumentationManifest>
Anstatt dem Manifest lokalisierte Zeichenfolgen hinzuzufügen, sollten Sie eine MULTILINGUAL-Datei (Multilingual User Interface) für jede Sprache erstellen, die Sie unterstützen. Verwenden Sie eine Meldungstextdatei, um Ihre lokalisierten Zeichenfolgen anzugeben.
Im folgenden Verfahren wird beschrieben, wie Sie eine CSV-Datei für Englisch und Französisch erstellen.
So erstellen Sie eine DOSSIER-Datei für Englisch und Französisch
Erstellen Sie eine Meldungstextdatei, die die französischen Nachrichtenzeichenfolgen erstellt. Ausführliche Informationen zum Erstellen einer Nachrichtentextdatei finden Sie unter Message Text Files. Die Nachrichtenbezeichner, die Sie in der Meldungstextdatei angeben, müssen mit den Ressourcenbezeichnern übereinstimmen, die der Nachrichtencompiler für die gleichen Zeichenfolgen im Manifest generiert hat. Informationen zum Ermitteln der Ressourcenbezeichner, die für die Zeichenfolgen im Manifest verwendet werden, finden Sie in der H-Datei, die der Nachrichtencompiler beim Kompilieren des Manifests generiert hat.
LanguageNames=(French=0x40C:MSG0040C) ; // The following are message definitions. MessageId=0x00000065 SymbolicName=MSG_ProviderName Language=French <FRENCH STRING GOES HERE> . MessageId=0x00000066 SymbolicName=MSG_PathNotFound Language=French <FRENCH STRING GOES HERE> .Führen Sie die folgenden Befehle aus, um die Ressourcen-DLL zu erstellen, die Ihre lokalisierten Zeichenfolgen enthält. Die messages.mc-Datei ist die Meldungstextdatei, die Sie in Schritt 1 erstellt haben.
mc -u -U messages.mc rc -r messages.rc link -dll -noentry -out:messages.dll messages.resErstellen Sie in dem Ordner, der Ihren Anbieter enthält, einen Unterordner für jedes gebietsschema, das Sie unterstützen. Der Name des Unterordners muss der Sprachname für dieses Gebietsschema sein. Verwenden Sie z. B. für 0x0409 en-US als Ordnernamen.
Erstellen Sie eine RCCONFIG-Datei, die dem Muirct.exe Tool mitteilt, dass Sie die Nachrichtenzeichenfolgenressourcen aus der ausführbaren Datei und den Ressourcen-DLLs aufteilen möchten. Im Folgenden wird eine RCCONFIG-Beispieldatei veranschaulicht.
<localization> <resources> <win32Resources fileType="Application"> <neutralResources> </neutralResources> <localizedResources> <resourceType typeNameId="#11"/> </localizedResources> </win32Resources> </resources> </localization>Führen Sie die folgenden Muirct.exe Befehle aus, um die englischen Zeichenfolgen aus der ausführbaren Datei des Anbieters aufzuteilen.
muirct -q split.rcconfig -v 2 -x 0x0409 -g 0x0409 provider.exe provider.exe.ln en-US\provider.exe.mui muirct -c provider.exe.ln -e en-US\provider.exe.muiFühren Sie die folgenden Muirct.exe Befehle aus, um die französischen Zeichenfolgen von der Ressourcen-DLL aufzuteilen. Entfernen Sie die sprachneutrale Datei (fr-FR \messages.dll), nachdem die CSV-Datei erstellt wurde.
muirct -q split.rcconfig -v 2 -x 0x040C -g 0x0409 messages.dll fr-FR\messages.dll fr-FR\provider.exe.mui muirct -c provider.exe.ln -e fr-FR\provider.exe.muiBenennen Sie provider.exe.ln in provider.exe um.