Lokalisierungsattribute und -kommentareLocalization Attributes and Comments

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)-Lokalisierungskommentare sind Eigenschaften innerhalb des XAMLXAML-Quellcodes, die vom Entwickler verfügbar gemacht werden um Regeln und Hinweise für die Lokalisierung bereitzustellen.localization comments are properties, inside XAMLXAML source code, supplied by developers to provide rules and hints for localization. Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)-Lokalisierungkommentare enthalten zwei Arten von Informationen: Lokalisierbarkeitsattribute und formfreie Lokalisierungskommentare.localization comments contain two sets of information: localizability attributes and free-form localization comments. Lokalisierbarkeitsattribute werden von der WPFWPF-Lokalisierungs-API verwendet, um anzugeben, welche Ressourcen lokalisiert werden sollen.Localizability attributes are used by the WPFWPF Localization API to indicate which resources are to be localized. Formfreie Kommentare umfassen alle Informationen, die der Anwendungsentwickler beinhaltet haben möchte.Free-form comments are any information that the application author wants to include.

LokalisierungskommentareLocalization Comments

Wenn Entwickler von Markupanwendungen Anforderungen an bestimmte Elemente in XAMLXAML stellen (wie Einschränkungen hinsichtlich Textlänge, Schriftfamilie oder Schriftgrad), können Sie dem Lokalisierungsexperten diese Informationen über Kommentare im XAMLXAML-Code mitteilen.If markup application authors have requirements for specific elements in XAMLXAML, such as constraints on text length, font family, or font size, they can convey this information to localizers with comments in the XAMLXAML code. Das Hinzufügen von Kommentaren zu Quellcode funktioniert wie folgt:The process for adding comments to source code is as follows:

  1. Anwendungsentwickler fügen dem XAMLXAML-Quellcode Lokalisierungskommentare hinzu.Application developer adds localization comments to XAMLXAML source code.

  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.During the build process, you can specify in the .proj file whether to leave the free-form localization comments in the assembly, strip out part of the comments, or strip out all the comments. Die entfernten Kommentare werden in einer separaten Datei abgelegt.The stripped-out comments are placed in a separate file. Sie geben die Option mit einem LocalizationDirectivesToLocFile-Tag an, z.B.:You specify your option using a LocalizationDirectivesToLocFile tag, eg:

    <LocalizationDirectivesToLocFile> Wert </LocalizationDirectivesToLocFile><LocalizationDirectivesToLocFile> value </LocalizationDirectivesToLocFile>

  3. Folgende Werte können zugewiesen werden:The values that can be assigned are:

    • None – Sowohl Kommentare als auch Attribute bleiben in der Assembly. Es wird keine separate Datei generiert.None - Both comments and attributes stay inside the assembly and no separate file is generated.

    • CommentsOnly – Es werden nur die Kommentare aus der Assembly entfernt und in der separaten LocFile abgelegt.CommentsOnly - Strips only the comments from the assembly and places them in the separate LocFile.

    • Alle – Es werden sowohl Kommentare als auch Attribute aus der Assembly entfernt und in einer separaten LocFile abgelegt.All - Strips both the comments and the attributes from the assembly and places them both in a separate LocFile.

  4. Wenn lokalisierbare Ressourcen aus BAML extrahiert werden, werden die Lokalisier barkeits Attribute von der BAML-Lokalisierungs-API berücksichtigt.When localizable resources are extracted from BAML, the localizability attributes are respected by the BAML Localization API.

  5. Lokalisierungskommentardateien, die nur formfreie Kommentare enthalten, werden zu einem späteren Zeitpunkt in den Lokalisierungsprozess integriert.Localization comment files, containing only free-form comments, are incorporated into the localization process at a later time.

Das folgende Beispiel zeigt, wie einer XAMLXAML-Datei Lokalisierungskommentare hinzugefügt werden.The following example shows how to add localization comments to a XAMLXAML file.

<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.In the previous sample the Localization.Attributes section contains the localization attributes and the Localization.Comments section the free-form comments. Die folgenden Tabellen zeigen Attribute und Kommentare sowie deren Bedeutung für den Lokalisierungsexperten.The following tables show the attributes and comments and their meaning to the localizer.

LokalisierungsattributeLocalization attributes BedeutungMeaning
$Content (Unmodifiable Readable Text)$Content (Unmodifiable Readable Text) Der Inhalt des TextBlock-Elements kann nicht geändert werden.Contents of the TextBlock element cannot be modified. Lokalisierungsexperten können das Wort „Microsoft“ nicht ändern.Localizers cannot change the word "Microsoft". Der Inhalt ist für den Lokalisierungsexperten sichtbar (Readable).The content is visible (Readable) to the localizer. Die Kategorie des Inhalts ist Text.The category of the content is text.
FontFamily (Unmodifiable Readable)FontFamily (Unmodifiable Readable) Die FontFamily-Eigenschaft des TextBlock-Elements kann nicht geändert werden, ist aber für den Lokalisierungsexperten sichtbar.The font family property of the TextBlock element cannot be changed but it is visible to the localizer.
Formfreie LokalisierungskommentareLocalization free-form comments BedeutungMeaning
$Content (Trademark)$Content (Trademark) Der Anwendungsentwickler teilt dem Lokalisierungsexperten mit, dass der Inhalt im TextBlock-Element eine Marke ist.The application author tells the localizer that the content in the TextBlock element is a trademark.
FontSize (Trademark font size)FontSize (Trademark font size) Der Anwendungsentwickler gibt an, dass die FontSize-Eigenschaft der Standardmarkengröße entsprechen soll.The application author indicates that the font size property should follow the standard trademark size.

LokalisierungsattributeLocalizability Attributes

Die Informationen in Localization.Attributes enthalten eine Liste von Paaren: den Namen des Zielwerts und die zugeordneten Lokalisierungswerte.The information in Localization.Attributes contains a list of pairs: the targeted value name and the associated localizability values. Der Zielname kann ein Eigenschaftenname oder der spezielle $Content-Name sein.The target name can be a property name or the special $Content name. Wenn es sich um einen Eigenschaftennamen handelt, ist der Zielwert der Wert der Eigenschaft.If it is a property name, the targeted value is the value of the property. Wenn es sich um $Content handelt, ist der Zielwert der Inhalt des Elements.If it is $Content, the target value is the content of the element.

Es gibt drei Typen von Attributen:There are three types of attributes:

  • Category.Category. Gibt an, ob ein Wert in einem Lokalisierungstool geändert werden kann.This specifies whether a value should be modifiable from a localizer tool. Siehe Category.See Category.

  • Lesbarkeit.Readability. Gibt an, ob ein Lokalisierungstool einen Wert lesen (und anzeigen) kann.This specifies whether a localizer tool should read (and display) a value. Siehe Readability.See Readability.

  • Änderbarkeit.Modifiability. Gibt an, ob ein Lokalisierungstool das Ändern eines Werts zulässt.This specifies whether a localizer tool allows a value to be modified. Siehe Modifiability.See Modifiability.

Diese Attribute können in jeder Reihenfolge durch ein Leerzeichen getrennt angegeben werden.These attributes can be specified in any order delimited by a space. Falls doppelte Attribute angegeben werden, überschreibt das letzte Attribut die vorherigen Attribute.In case duplicate attributes are specified, the last attribute will override former ones. So legt Localization.Attributes = "Unmodifiable Modifiable" beispielsweise Modifiability auf Modifiable fest, da es sich hierbei um den letzten Wert handelt.For example, Localization.Attributes = "Unmodifiable Modifiable" sets Modifiability to Modifiable because it is the last value.

Bearbeitbarkeit und Lesbarkeit sind selbsterklärend.Modifiability and Readability are self-explanatory. Das Category-Attribut stellt vordefinierte Kategorien bereit, die den Lokalisierungsexperten beim Übersetzen von Text unterstützen.The Category attribute provides predefined categories that help the localizer when translating text. Kategorien wie Text, Label und Title geben dem Lokalisierungsexperten Informationen zum Übersetzen des Texts.Categories, such as, Text, Label, and Title give the localizer information about how to translate the text. Es gibt auch spezielle Kategorien: None, Vererbung, ignorieren und NeverLocalize.There are also special categories: None, Inherit, Ignore, and NeverLocalize.

In der folgenden Tabelle werden die Bedeutung der speziellen Kategorien erläutert.The following table shows the meaning of the special categories.

KategorieCategory BedeutungMeaning
NoneNone Der Zielwert besitzt keine definierte Kategorie.Targeted value has no defined category.
InheritInherit Der Zielwert erbt seine Kategorie von seinem übergeordneten Element.Targeted value inherits its category from its parent.
IgnorierenIgnore Der Zielwert wird im Lokalisierungsprozess ignoriert.Targeted value is ignored in the localization process. Ignore wirkt sich nur auf den aktuellen Wert aus.Ignore affects only the current value. Untergeordnete Knoten werden nicht beeinflusst.It will not affect child nodes.
NeverLocalizeNeverLocalize Der aktuelle Wert kann nicht lokalisiert werden.Current value cannot be localized. Diese Kategorie wird von den untergeordneten Elementen eines Elements geerbt.This category is inherited by the children of an element.

LokalisierungskommentareLocalization Comments

Localization.Comments enthält formfreie Zeichenfolgen, die den Zielwert betreffen.Localization.Comments contains free-form strings concerning the targeted value. Anwendungsentwickler können Informationen hinzufügen, um Lokalisierungsexperten Hinweise zur Übersetzung des Anwendungstexts zu geben.Application developers can add information to give localizers hints about how the applications text should be translated. Das Format der Kommentare kann jede Zeichenfolge sein, die von „()“ umgeben ist.The format of the comments can be any string surrounded by "()". Verwenden Sie '\' als Escapezeichen.Use '\' to escape characters.

Siehe auchSee also