Lokalisierungsattribute und -kommentare

Windows Presentation Foundation (WPF)-Lokalisierungskommentare sind Eigenschaften innerhalb des XAML-Quellcodes, die vom Entwickler verfügbar gemacht werden um Regeln und Hinweise für die Lokalisierung bereitzustellen. WPF-Lokalisierungkommentare enthalten zwei Arten von Informationen: Lokalisierbarkeitsattribute und formfreie Lokalisierungskommentare. Lokalisierbarkeitsattribute werden von der WPF-Lokalisierungs-API verwendet, um anzugeben, welche Ressourcen lokalisiert werden sollen. Formfreie Kommentare umfassen alle Informationen, die der Anwendungsentwickler beinhaltet haben möchte.

Hinzufügen von Lokalisierungskommentaren

Wenn Entwickler von Markupanwendungen Anforderungen an bestimmte Elemente in XAML stellen (wie Einschränkungen hinsichtlich Textlänge, Schriftfamilie oder Schriftgrad), können Sie dem Lokalisierungsexperten diese Informationen über Kommentare im XAML-Code mitteilen. Das Hinzufügen von Kommentaren zu Quellcode funktioniert wie folgt:

  1. Anwendungsentwickler fügen dem XAML-Quellcode Lokalisierungskommentare hinzu.

  2. Während des Buildprozesses können Sie in der PROJ-Datei angeben, ob die formfreien Lokalisierungskommentare in der Assembly bleiben oder ob ein Teil der oder alle Kommentare entfernt werden sollen. Die entfernten Kommentare werden in einer separaten Datei abgelegt. Sie geben die Option mit einem LocalizationDirectivesToLocFile-Tag an, z.B.:

    <LocalizationDirectivesToLocFile>value</LocalizationDirectivesToLocFile>

  3. Folgende Werte können zugewiesen werden:

    • None – Sowohl Kommentare als auch Attribute bleiben in der Assembly. Es wird keine separate Datei generiert.

    • CommentsOnly – Es werden nur die Kommentare aus der Assembly entfernt und in der separaten LocFile abgelegt.

    • Alle – Es werden sowohl Kommentare als auch Attribute aus der Assembly entfernt und in einer separaten LocFile abgelegt.

  4. Wenn lokalisierbare Ressourcen aus BAML extrahiert werden, werden die Lokalisierbarkeitsattribute von der BAML-Lokalisierungs-API berücksichtigt.

  5. Lokalisierungskommentardateien, die nur formfreie Kommentare enthalten, werden zu einem späteren Zeitpunkt in den Lokalisierungsprozess integriert.

Das folgende Beispiel zeigt, wie einer XAML-Datei Lokalisierungskommentare hinzugefügt werden.

<TextBlock x:Id = "text01"

FontFamily = "Microsoft Sans Serif"

FontSize = "12"

Localization.Attributes = "$Content (Unmodifiable Readable Text)

FontFamily (Unmodifiable Readable)"

Localization.Comments = "$Content (Trademark)

FontSize (Trademark font size)" >

Microsoft

</TextBlock>

Im vorherigen Beispiel enthält der Localization.Attributes-Abschnitt die Lokalisierungsattribute und der Localization.Comments-Abschnitt die formfreien Kommentare. Die folgenden Tabellen zeigen Attribute und Kommentare sowie deren Bedeutung für den Lokalisierungsexperten.

Lokalisierungsattribute Bedeutung
$Content (Unmodifiable Readable Text) Der Inhalt des TextBlock-Elements kann nicht geändert werden. Lokalisierungsexperten können das Wort „Microsoft“ nicht ändern. Der Inhalt ist für den Lokalisierungsexperten sichtbar (Readable). Die Kategorie des Inhalts ist Text.
FontFamily (Unmodifiable Readable) Die FontFamily-Eigenschaft des TextBlock-Elements kann nicht geändert werden, ist aber für den Lokalisierungsexperten sichtbar.
Formfreie Lokalisierungskommentare Bedeutung
$Content (Trademark) Der Anwendungsentwickler teilt dem Lokalisierungsexperten mit, dass der Inhalt im TextBlock-Element eine Marke ist.
FontSize (Trademark font size) Der Anwendungsentwickler gibt an, dass die FontSize-Eigenschaft der Standardmarkengröße entsprechen soll.

Lokalisierungsattribute

Die Informationen in Localization.Attributes enthalten eine Liste von Paaren: den Namen des Zielwerts und die zugeordneten Lokalisierungswerte. Der Zielname kann ein Eigenschaftenname oder der spezielle $Content-Name sein. Wenn es sich um einen Eigenschaftennamen handelt, ist der Zielwert der Wert der Eigenschaft. Wenn es sich um $Content handelt, ist der Zielwert der Inhalt des Elements.

Es gibt drei Typen von Attributen:

  • Kategorie Gibt an, ob ein Wert in einem Lokalisierungstool geändert werden kann. Siehe Category.

  • Lesbarkeit. Gibt an, ob ein Lokalisierungstool einen Wert lesen (und anzeigen) kann. Siehe Readability.

  • Änderbarkeit. Gibt an, ob ein Lokalisierungstool das Ändern eines Werts zulässt. Siehe Modifiability.

Diese Attribute können in jeder Reihenfolge durch ein Leerzeichen getrennt angegeben werden. Falls doppelte Attribute angegeben werden, überschreibt das letzte Attribut die vorherigen Attribute. So legt Localization.Attributes = "Unmodifiable Modifiable" beispielsweise Modifiability auf Modifiable fest, da es sich hierbei um den letzten Wert handelt.

Bearbeitbarkeit und Lesbarkeit sind selbsterklärend. Das Category-Attribut stellt vordefinierte Kategorien bereit, die den Lokalisierungsexperten beim Übersetzen von Text unterstützen. Kategorien wie Text, Label und Title geben dem Lokalisierungsexperten Informationen zum Übersetzen des Texts. Außerdem gibt es spezielle Kategorien: None, Inherit, Ignore und NeverLocalize.

In der folgenden Tabelle werden die Bedeutung der speziellen Kategorien erläutert.

Kategorie Bedeutung
Keine Der Zielwert besitzt keine definierte Kategorie.
Erben Der Zielwert erbt seine Kategorie von seinem übergeordneten Element.
Ignorieren Der Zielwert wird im Lokalisierungsprozess ignoriert. Ignore wirkt sich nur auf den aktuellen Wert aus. Untergeordnete Knoten werden nicht beeinflusst.
NeverLocalize Der aktuelle Wert kann nicht lokalisiert werden. Diese Kategorie wird von den untergeordneten Elementen eines Elements geerbt.

Lokalisierungskommentare

Localization.Comments enthält formfreie Zeichenfolgen, die den Zielwert betreffen. Anwendungsentwickler können Informationen hinzufügen, um Lokalisierungsexperten Hinweise zur Übersetzung des Anwendungstexts zu geben. Das Format der Kommentare kann jede Zeichenfolge sein, die von „()“ umgeben ist. Verwenden Sie '\' für Zeichen als Escapezeichen.

Weitere Informationen