ローカリゼーション属性とコメントLocalization Attributes and Comments

ローカリゼーションコメント Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) は、開発者がローカライズに関する規則やヒントを提供するために、XAML ソースコード内のプロパティです。Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) localization comments are properties, inside XAML source code, supplied by developers to provide rules and hints for localization. Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) ローカリゼーション コメントには、ローカライズ可否属性と自由形式のローカリゼーション コメントの 2 つの情報が含まれます。localization comments contain two sets of information: localizability attributes and free-form localization comments. ローカライズ可否属性は、ローカライズするリソースを示すために WPFWPF ローカリゼーション API によって使用されます。Localizability attributes are used by the WPFWPF Localization API to indicate which resources are to be localized. 自由形式のコメントは、アプリケーションの作成者が含めたい任意の情報です。Free-form comments are any information that the application author wants to include.

ローカリゼーション コメントLocalization Comments

マークアップアプリケーションの作成者が、テキストの長さ、フォントファミリ、またはフォントサイズの制約など、XAML の特定の要素に関する要件を持つ場合は、XAML コード内のコメントを使用して、この情報をローカライザーに渡すことができます。If markup application authors have requirements for specific elements in XAML, such as constraints on text length, font family, or font size, they can convey this information to localizers with comments in the XAML code. ソース コードにコメントを追加する手順は次のとおりです。The process for adding comments to source code is as follows:

  1. アプリケーション開発者は、XAML ソースコードにローカリゼーションコメントを追加します。Application developer adds localization comments to XAML source code.

  2. ビルド プロセス中に、.proj ファイル内でアセンブリ内に自由形式のローカリゼーション コメントを残すかどうか、コメントの一部を取り除くか、またはすべてのコメントを取り除くかのいずれかを指定できます。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. 取り除かれたコメントは、別のファイルに配置されます。The stripped-out comments are placed in a separate file. 次のような LocalizationDirectivesToLocFile タグを使用して、オプションを指定します。You specify your option using a LocalizationDirectivesToLocFile tag, eg:

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

  3. 割り当てることのできる値は次のとおりです。The values that can be assigned are:

    • None - コメントと属性の両方がアセンブリ内に残り、別のファイルは生成されません。None - Both comments and attributes stay inside the assembly and no separate file is generated.

    • CommentsOnly - アセンブリからコメントだけを取り除き、別の LocFile に配置します。CommentsOnly - Strips only the comments from the assembly and places them in the separate LocFile.

    • All - コメントと属性の両方をアセンブリから取り除き、両方とも別の 1 つの LocFile に配置します。All - Strips both the comments and the attributes from the assembly and places them both in a separate LocFile.

  4. ローカライズ可能なリソースが BAML から抽出された場合、ローカライズ可能な属性は BAML ローカライズ API によって尊重されます。When localizable resources are extracted from BAML, the localizability attributes are respected by the BAML Localization API.

  5. 自由形式のコメントのみを含むローカリゼーション コメント ファイルは、後でローカライズ プロセスに組み込まれます。Localization comment files, containing only free-form comments, are incorporated into the localization process at a later time.

次の例は、XAML ファイルにローカリゼーションコメントを追加する方法を示しています。The following example shows how to add localization comments to a XAML 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>

前のサンプル、Localization.Attributes セクションには、ローカリゼーション属性と Localization.Comments セクションの自由形式のコメントが含まれています。In the previous sample the Localization.Attributes section contains the localization attributes and the Localization.Comments section the free-form comments. 次の表に、属性とコメントおよびローカライザーにとってのそれらの意味を示します。The following tables show the attributes and comments and their meaning to the localizer.

ローカリゼーション属性Localization attributes 意味Meaning
$Content (Unmodifiable Readable Text)$Content (Unmodifiable Readable Text) TextBlock 要素のコンテンツは変更できません。Contents of the TextBlock element cannot be modified. ローカライザーは、"Microsoft" という単語を変更できません。Localizers cannot change the word "Microsoft". コンテンツは、ローカライザーに表示可能 (読み取り可能) です。The content is visible (Readable) to the localizer. コンテンツのカテゴリはテキストです。The category of the content is text.
FontFamily (Unmodifiable Readable)FontFamily (Unmodifiable Readable) TextBlock 要素のフォント ファミリ プロパティを変更することはできませんが、ローカライザーに表示することはできます。The font family property of the TextBlock element cannot be changed but it is visible to the localizer.
自由形式コメントのローカライズLocalization free-form comments 意味Meaning
$Content (Trademark)$Content (Trademark) アプリケーションの作成者が、TextBlock 要素内のコンテンツが商標であることをローカライザーに伝えます。The application author tells the localizer that the content in the TextBlock element is a trademark.
FontSize (Trademark font size)FontSize (Trademark font size) アプリケーションの作成者が、フォント サイズ プロパティが標準の商標のサイズに適切に従う必要があることを示します。The application author indicates that the font size property should follow the standard trademark size.

ローカライズ可否属性Localizability Attributes

Localization.Attributes 内の情報には、ターゲット値の名前と関連付けられているローカライズ可否の値のペアのリストが含まれています。The information in Localization.Attributes contains a list of pairs: the targeted value name and the associated localizability values. ターゲット名には、プロパティ名または特殊な $Content 名を指定できます。The target name can be a property name or the special $Content name. プロパティ名を指定した場合は、ターゲット値はプロパティの値となります。If it is a property name, the targeted value is the value of the property. $Content を指定した場合は、ターゲット値は要素のコンテンツとなります。If it is $Content, the target value is the content of the element.

次の 3 種類の属性があります。There are three types of attributes:

  • カテゴリCategory. これは、ローカライザー ツールで値を変更可能にするかどうかを指定します。This specifies whether a value should be modifiable from a localizer tool. Category」を参照してください。See Category.

  • 読みやすさReadability. これは、ローカライザー ツールで値を読み取る (および表示する) かどうかを指定します。This specifies whether a localizer tool should read (and display) a value. Readability」を参照してください。See Readability.

  • 変更可能性Modifiability. これは、ローカライザー ツールで値の変更を許可するかどうかを指定します。This specifies whether a localizer tool allows a value to be modified. Modifiability」を参照してください。See Modifiability.

これらの属性は、スペースで区切られた任意の順序で指定できます。These attributes can be specified in any order delimited by a space. 重複する属性が指定された場合、最後の属性にオーバーライドされます。In case duplicate attributes are specified, the last attribute will override former ones. たとえば、Localization.Attributes = "Unmodifiable Modifiable" は、これが最後の値であるため、変更可能性を Modifiable に設定します。For example, Localization.Attributes = "Unmodifiable Modifiable" sets Modifiability to Modifiable because it is the last value.

変更可能性と読みやすさはその名のとおりです。Modifiability and Readability are self-explanatory. カテゴリ属性は、テキストを変換するときに、ローカライザーを支援する定義済みのカテゴリを提供します。The Category attribute provides predefined categories that help the localizer when translating text. Text、Label、Title などのカテゴリは、テキストの変換方法についてローカライザーに情報を提供します。Categories, such as, Text, Label, and Title give the localizer information about how to translate the text. None、Inherit、Ignore、NeverLocalize の特殊なカテゴリもあります。There are also special categories: None, Inherit, Ignore, and NeverLocalize.

次の表に、特殊なカテゴリの意味を示します。The following table shows the meaning of the special categories.

カテゴリCategory 意味Meaning
なしNone ターゲット値に定義済みのカテゴリがありません。Targeted value has no defined category.
[継承する]Inherit ターゲット値は、その親からそのカテゴリを継承します。Targeted value inherits its category from its parent.
無視Ignore ローカライズ プロセスでは、ターゲット値は無視されます。Targeted value is ignored in the localization process. Ignore は現在の値にのみ影響します。Ignore affects only the current value. 子ノードには影響しません。It will not affect child nodes.
NeverLocalizeNeverLocalize 現在の値をローカライズすることはできません。Current value cannot be localized. このカテゴリは、要素の子に継承されます。This category is inherited by the children of an element.

ローカリゼーション コメントLocalization Comments

Localization.Comments には、ターゲットの値に関する自由形式の文字列が含まれます。Localization.Comments contains free-form strings concerning the targeted value. アプリケーション開発者は、アプリケーションのテキストを変換する方法についてのヒントをローカライザーに提供するための情報を追加できます。Application developers can add information to give localizers hints about how the applications text should be translated. コメントの形式は、"()" で囲まれた任意の文字列で指定できます。The format of the comments can be any string surrounded by "()". 文字をエスケープするには、'\' を使用します。Use '\' to escape characters.

参照See also