リソース管理システムでの言語タグの照合の仕組みHow the Resource Management System matches language tags

前のトピック (「リソース管理システムでのリソースの照合と選択の仕組み」) では、一般的な修飾子の照合について説明しました。The previous topic (How the Resource Management System matches and chooses resources) looks at qualifier-matching in general. このトピックでは、言語タグの照合についてさらに詳しく説明します。This topic focuses on language-tag-matching in more detail.

概要Introduction

言語タグの修飾子を持つリソースは、アプリの実行時の言語の一覧に基づいて比較およびスコア付けされます。Resources with language tag qualifiers are compared and scored based on the app runtime language list. さまざまな言語の一覧の定義については、「ユーザー プロファイルの言語とアプリ マニフェストの言語について」を参照してください。For definitions of the different language lists, see Understand user profile languages and app manifest languages. 一覧内の最初の言語の対応付けが、一覧内の 2 つ目の言語の対応付けよりも先に発生します (他の地域バリアントのものであっても同様)。Matching for the first language in a list occurs before matching of the second language in a list, even for other regional variants. たとえば、アプリの実行時の言語が en-US に指定されていると、fr-CA リソースより優先的に en-GB のリソースが選ばれます。For example, a resource for en-GB is chosen over an fr-CA resource if the app runtime language is en-US. en という形式のリソースがない場合に限り、fr-CA のリソースが選ばれます (その場合、アプリの既定の言語が任意の形式の en に設定できないことに注意してください)。Only if there are no resources for a form of en is a resource for fr-CA chosen (note that the app's default language could not be set to any form of en in that case).

スコア付けメカニズムでは、BCP-47 サブタグ レジストリに含まれているデータと、その他のデータ ソースを使います。The scoring mechanism uses data that is included in the BCP-47 subtag registry, and other data sources. 一致の度合いに応じたスコアにすることができ、候補が複数あるときは一致スコアが最も高い候補を選びます。It allows for a scoring gradient with different qualities of match and, when multiple candidates are available, it selects the candidate with the best-matching score.

したがって、言語コンテンツに汎用的な言語タグを付けることができますが、必要に応じて特定言語のコンテンツを指定することもできます。So, you can tag language content in generic terms, but you can still specify specific content when needed. たとえば、アプリに、米国、英国、その他の地域に共通する英語の文字列が多数含まれているとします。For example, your app might have many English strings that are common to both the United States, Britain, and other regions. これらの文字列に "en" (英語) というタグを付けるだけで、領域とローカライズのオーバーヘッドを節約できます。Tagging these strings as "en" (English) saves space and localization overhead. "color/colour" が含まれる文字列など、区別が必要になった場合は、米国バージョンと英国バージョンにそれぞれ個別に、言語と地域の両方のサブタグを使用して、"en-US" と "en-GB" というタグを付けることができます。When distinctions need to be made, such as in a string containing the word "color/colour", the United States and British versions can be tagged separately using both language and region subtags, as "en-US" and "en-GB", respectively.

言語タグLanguage tags

言語は、正規化された整形式の BCP-47 言語タグを使って識別されます。Languages are identified using normalized, well-formed BCP-47 language tags. サブタグのコンポーネントは BCP-47 サブタグ レジストリ内で定義されます。Subtag components are defined in the BCP-47 subtag registry. 標準的な構造の BCP-47 言語タグは、次に示す 1 つ以上のサブタグ要素から構成されます。The normal structure for a BCP-47 language tag consists of one or more of the following subtag elements.

  • 言語サブタグ (必須)。Language subtag (required).
  • スクリプト サブタグ (サブタグ レジストリで指定された既定値を使って推論される場合があります)。Script subtag (which may be inferred using the default specified in the subtag registry).
  • 地域サブタグ (省略可能)。Region subtag (optional).
  • バリアント サブタグ (省略可能)。Variant subtag (optional).

サブタグ要素は他にもありますが、言語の対応付けにはほとんど影響しません。Additional subtag elements may be present, but they will have a negligible effect on language matching. "" のように、ワイルドカード ("en-") を使って定義された言語の範囲はありません。There are no language ranges defined using the wild card (""), for example, "en-".

2 つの言語の対応付けMatching two languages

Windows で 2 つの言語の比較が行われる場合は、通常、より大きなプロセスのコンテキスト内で実行されます。Whenever Windows compares two languages it is typically done within the context of a larger process. たとえば、アプリの言語の一覧を生成する場合など、複数言語を評価するコンテキスト内で実行されることがあります (「ユーザー プロファイルの言語とアプリ マニフェストの言語について」を参照)。It may be in the context of assessing multiple languages, such as when Windows generates the application language list (see Understand user profile languages and app manifest languages). Windows は、ユーザー設定の複数の言語とアプリ マニフェストで指定された言語を対応付けてこの処理を実行します。Windows does this by matching multiple languages from the user preferences to the languages specified in the app's manifest. また、比較は、特定のリソースの他の修飾子と共に言語を評価するコンテキスト内で実行されることもあります。The comparison might also be in the context of assessing language along with other qualifiers for a particular resource. 一例として、リソース選択時に考慮する (言語以外の) 要因としてユーザーの国/地域情報やデバイスの現在の表示倍率または dpi を使って、特定のリソース コンテキストに対して特定のファイル リソースを決定する場合があります。One example is when Windows resolves a particular file resource to a particular resource context; with the user's home location or the device's current scale or dpi as other factors (besides language) that are factored into the resource selection.

2 つの言語のタグが比較され、その比較に対して、一致の度合いに応じたスコアが割り当てられます。When two language tags are compared, the comparison is assigned a score based on the nearness of the match.

一致Match スコアScore Example
完全一致Exact match 最高Highest en-AU : en-AUen-AU : en-AU
バリアントの一致 (言語、スクリプト、地域、バリアント)Variant match (language, script, region, variant) en-AU-variant1 : en-AU-variant1-t-jaen-AU-variant1 : en-AU-variant1-t-ja
地域の一致 (言語、スクリプト、地域)Region match (language, script, region) en-AU : en-AU-variant1en-AU : en-AU-variant1
部分一致 (言語、スクリプト)Partial match (language, script)
- マクロ地域の一致- Macro region match en-AU : en-053en-AU : en-053
- 地域中立の一致- Region-neutral match en-AU : enen-AU : en
- 正字法の類似性の一致 (限定的なサポート)- Orthographic affinity match (limited support) en-AU : en-GBen-AU : en-GB
- 優先する地域の一致- Preferred region match en-AU : en-USen-AU : en-US
- 任意の地域の一致- Any region match en-AU : en-CAen-AU : en-CA
未定義の言語 (任意の言語の一致)Undetermined language (any language match) en-AU : unden-AU : und
不一致 (スクリプトの不一致または第 1 言語のタグの不一致)No match (script mismatch or primary language tag mismatch) 最低Lowest en-AU : fr-FRen-AU : fr-FR

完全一致Exact match

タグが完全に等しい (すべてのサブタグ要素が一致している)。The tags are exactly equal (all subtag elements match). バリアントの一致または地域の一致からこのタイプの一致に、比較が昇格する場合があります。A comparison may be promoted to this match type from a variant or region match. たとえば、en-US は en-US に対応付けられます。For example, en-US matches en-US.

バリアントの一致Variant match

タグの言語、スクリプト、地域、バリアントの各サブタグは一致していますが、他の点が異なっています。The tags match on the language, script, region, and variant subtags, but they differ in some other respect.

地域の一致Region match

タグの言語、スクリプト、地域の各サブタグは一致していますが、他の点が異なっています。The tags match on the language, script, and region subtags, but they differ in some other respect. たとえば、de-DE-1996 は de-DE に対応付けられ、en-US-x-Pirate は en-US に対応付けられます。For example, de-DE-1996 matches de-DE, and en-US-x-Pirate matches en-US.

部分一致Partial matches

タグの言語とスクリプトの各サブタグは一致していますが、地域やその他のサブタグが異なっています。The tags match on the language and script subtags, but they differ in the region or some other subtag. たとえば、EN-US と en を一致するまたは EN-US と一致する英語-*します。For example, en-US matches en, or en-US matches en-*.

マクロ地域の一致Macro region match

タグの言語サブタグとスクリプト サブタグは一致しています。両方のタグに地域サブタグがあり、その片方がもう片方の地域を含むマクロ地域を表しています。The tags match on language and script subtags; both tags have region subtags, one of which denotes a macro region that encompasses the other region. マクロ地域サブタグは常に数字で、国連統計部 M.49 の国コードと地域コードに由来します。The macro region subtags are always numeric and are derived from the United Nations Statistics Division M.49 country and area codes. 地域の包含関係について詳しくは、「Composition of macro geographic (continental) regions, geographical sub-regions, and selected economic and other groupings (マクロ地理 (大陸) 地域、地理サブ地域、選ばれた経済グループなどのグループ分けの構成)」をご覧ください。For details on encompassing relationships, see Composition of macro geographic (continental) regions, geographical sub-regions, and selected economic and other groupings.

"経済的グループ分け" または "その他のグループ分け" に関する国連コードは、BCP-47 ではサポートされていません。Note UN codes for "economic groupings" or "other groupings" are not supported in BCP-47.

マクロ地域サブタグが "001" のタグは地域中立タグと同等と見なされます。Note A tag with the macro-region subtag "001" is considered equivalent to a region-neutral tag. たとえば、"es-001" と "es" は同義語として扱われます。For example, "es-001" and "es" are treated as synonymous.

地域中立の一致Region-neutral match

タグの言語サブタグとスクリプト サブタグは一致していますが、一方のタグだけに地域サブタグがあります。The tags match on language and script subtags, and just one tag has a region tag. 親の一致は、他の部分一致よりも優先されます。A parent match is preferred over other partial matches.

正字法の類似性の一致Orthographic affinity match

タグの言語サブタグとスクリプト サブタグは一致していますが、地域サブタグには正字法の類似性のみがあります。The tags match on language and script subtags, and the region subtags have orthographic affinity. 類似性は、言語固有の類似性が高い地域 ("en-IE" と "en-GB" など) を定義した Windows で保守されているデータに依存します。Affinity relies on data maintained in Windows that defines language-specific affined regions, for example, "en-IE" and "en-GB".

優先する地域の一致Preferred region match

タグの言語サブタグとスクリプト サブタグは一致していて、一方の地域サブタグがその言語の既定の地域サブタグになっています。The tags match on language and script subtags, and one of the region subtags is the default region subtag for the language. たとえば、"fr-FR" は "fr" サブタグの既定の地域です。For example, "fr-FR" is the default region for the "fr" subtag. そのため、fr-FR は fr-CA より fr-BE に強く対応付けられます。So, fr-FR is a better match for fr-BE than is fr-CA. これは、Windows がローカライズされる各言語の既定の地域を定義した Windows で保守されているデータに依存します。This relies on data maintained in Windows defining a default region for each language in which Windows is localized.

兄弟の一致Sibling match

タグの言語サブタグとスクリプト サブタグは一致していて、両方に地域サブタグもありますが、それ以外の関係が定義されていません。The tags match on language and script subtags, and both have region subtags, but no other relationship is defined between them. 兄弟の一致が複数ある場合、より上位の一致がなければ、最後に列挙された兄弟が採用されます。In the event of multiple sibling matches, the last enumerated sibling will be the winner, in the absence of a higher match.

未定義の言語Undetermined language

リソースに "und" というタグを付けて、任意の言語と一致することを示すことができます。A resource may be tagged as "und" to indicate that it matches any language. このタグをスクリプト タグと共に使って、スクリプトに基づく一致をフィルター処理することもできます。This tag may also be used with a script tag to filter matches based on script. たとえば、"und-Latn" は、Latin スクリプトを使う任意の言語タグに一致します。For example, "und-Latn" will match any language tag that uses Latin script. 詳しくは、後のセクションをご覧ください。See below for more details.

スクリプトの不一致Script mismatch

タグの第 1 言語のタグのみが一致し、スクリプト タグが一致しない場合、この組み合わせは不一致と見なされ、有効な一致のレベルよりも低いスコアになります。When the tags match only on the primary language tag but not the script, the pair is considered not to match and is scored below the level of a valid match.

不一致No match

第 1 言語のサブタグの不一致は、有効な一致のレベルよりも低いスコアになります。Mismatching primary language subtags are scored below the level of a valid match. たとえば、zh-Hant は zh-Hans に対応付けられません。For example, zh-Hant does not match zh-Hans.

Examples

ユーザーの言語 "zh-Hans-CN" (簡体字中国語 (中国)) は、以下に示すリソースと次のような優先順位で一致します。A user language "zh-Hans-CN" (Chinese Simplified (China)) matches the following resources in the priority order shown. X は不一致を示します。An X indicates no match.

簡体字中国語 (中国) の照合

  1. 完全一致。2. Exact match; 2. と 3. & 3. 地域の一致。4. Region match; 4. 親の一致。5. Parent match; 5. 兄弟の一致。Sibling match.

言語サブタグで、BCP-47 サブタグ レジストリで定義されているスクリプトの値が抑制されている場合、抑制されたスクリプト コードを使って同様の対応付けが行われます。When a language subtag has a Suppress-Script value defined in the BCP-47 subtag registry, corresponding matching occurs, taking on the value of the suppressed script code. たとえば、en-Latn-US は en-US に対応付けられます。For example, en-Latn-US matches en-US. 次の例では、ユーザーの言語は "en-AU" (英語 (オーストラリア)) です。In this next example the user language is "en-AU" (English (Australia)).

英語 (オーストラリア) の照合

  1. 完全一致。2. Exact match; 2. マクロ地域の一致。3. Macro region match; 3. 地域中立の一致。4. Region-neutral match; 4. 正字法の類似性の一致。5. Orthographic affinity match; 5. 優先する地域の一致。6. Preferred region match; 6. 兄弟の一致。Sibling match.

言語と言語の一覧との対応付けMatching a language to a language list

単一の言語と言語の一覧の対応付けという大きなプロセスの一環として対応付けが発生する場合があります。At times, matching occurs as part of a bigger process of matching a single language to a list of languages. たとえば、単一の言語ベースのリソースとアプリの言語の一覧の対応付けが行われることがあります。For example, there may be a match of a single language-based resource to an app's language list. 一致のスコアは、一覧内で最初に一致した言語の位置によって重み付けされます。The score of the match is weighted by the position of the first matching language in the list. 言語が一覧内で低い位置にあれば、スコアも低くなります。The lower the language is in the list, the lower the score will be.

言語の一覧に、言語サブタグとスクリプト サブタグが同じである地域バリアントが複数含まれている場合、最初の言語タグに対する比較のスコア付けは、完全一致、バリアントの一致、地域の一致についてのみ実行されます。When the language list contains two or more regional variants having the same language and script subtags, comparisons for the first language tag are only scored for exact, variant, and region matches. 部分一致のスコア付けは、最後の地域バリアントまで後回しにされます。Scoring partial matches is postponed to the last regional variant. これにより、ユーザーは言語の一覧に対する対応付けの動作を細かく制御できます。This enables users to finely control the matching behavior for their language list. 対応付けの動作では、たとえば、一覧の 3 番目の項目の言語とスクリプトが 1 番目の項目と一致する場合に、1 番目の項目に対する部分一致よりも 2 番目の項目に対する完全一致を優先したりできます。The matching behavior may include allowing an exact match for a secondary item in the list to be preferred over a partial match for the first item in the list, if there is a third item that matches the language and script of the first. 次に例を示します。Here's an example.

  • 言語の一覧の順序: pt-PT (ポルトガル語 (ポルトガル))、en-US (英語 (米国))、pt-BR (ポルトガル語 (ブラジル))。Language list (in order): "pt-PT" (Portuguese (Portugal)), "en-US" (English (United States)), "pt-BR" (Portuguese (Brazil)).
  • リソース: "en-US"、"pt-BR"。Resources: "en-US", "pt-BR".
  • よりスコアの高いリソース: "en-US"。Resource with the higher score: "en-US".
  • 説明:比較では、"PT-PT"で開始されますが、完全一致が見つからない。Description: The comparison starts with "pt-PT" but does not find an exact match. ユーザーの言語の一覧に "pt-BR" があるので、"pt-BR" に対する部分一致は後回しにされます。Due to the presence of "pt-BR" in the user's language list, partial matching is postponed to the comparison with "pt-BR". 次に比較する言語は "en-US" で、完全一致があります。The next language comparison is "en-US", which has an exact match. そのため、採用されるリソースは "en-US" になります。So, the winning resource is "en-US".

またはOR

  • 言語の一覧の順序: "es-MX" (スペイン語 (メキシコ))、"es-HO" (スペイン語 (ホンジュラス))。Language list (in order): "es-MX" (Spanish (Mexico)), "es-HO" (Spanish (Honduras)).
  • リソース: "en-ES"、"es-HO"。Resources: "en-ES", "es-HO".
  • よりスコアの高いリソース: "es-HO"。Resource with the higher score: "es-HO".

未定義の言語 ("und")Undetermined language ("und")

言語タグ "und" は、よりよい一致が見つからない場合に、すべての言語に一致するリソースを指定するために使うことができます。The language tag "und" may be used to specify a resource that will match any language in the absence of a better match. これは、BCP-47 の言語の範囲の "" や "-<script>" に似ていると考えられます。It can be considered similar to the BCP-47 language range "" or "-<script>". 次に例を示します。Here's an example.

  • 言語の一覧: "en-US"、"zh-Hans-CN"。Language list: "en-US", "zh-Hans-CN".
  • リソース: "zh-Hans-CN"、"und"。Resources: "zh-Hans-CN", "und".
  • よりスコアの高いリソース: "und"。Resource with the higher score: "und".
  • 説明:比較では、"EN-US"に開始されますが、"en"(部分的または向上) に基づいて一致を見つけられなかった。Description: The comparison starts with "en-US" but does not find a match based on "en" (partial or better). "und" のタグが付いたリソースがあるので、対応付けアルゴリズムはこれを使います。Since there is a resource tagged with "und", the matching algorithm uses that.

"und" タグを使うことにより、複数の言語が 1 つのリソースを共有し、個々の言語を例外として処理することができます。The tag "und" enables multiple languages to share a single resource and permits individual languages to be treated as exceptions. 次に例を示します。For example.

  • 言語の一覧: "zh-Hans-CN"、"en-US"。Language list: "zh-Hans-CN", "en-US".
  • リソース: "zh-Hans-CN"、"und"。Resources: "zh-Hans-CN", "und".
  • よりスコアの高いリソース: "zh-Hans-CN"。Resource with the higher score: "zh-Hans-CN".
  • 説明:比較が完全に一致する最初の項目を検索し、"und"というラベルが付いたリソースをチェックしませんので。Description: The comparison finds an exact match for the first item and so it doesn't check for the resource labeled "und".

"und" をスクリプト タグと共に使って、リソースをスクリプトでフィルター処理できます。You can use "und" with a script tag to filter resources by script. 次に例を示します。For example.

  • 言語の一覧: "ru"。Language list: "ru".
  • リソース: "und-Latn"、"und-Cyrl"、"und-Arab"。Resources: "und-Latn", "und-Cyrl", "und-Arab".
  • よりスコアの高いリソース: "und-Cyrl"。Resource with the higher score: "und-Cyrl".
  • 説明:比較 (部分的または向上)、"ru"に一致が見つからないし、したがって言語タグ"und"と一致します。Description: The comparison doesn't find a match for "ru" (partial or better), and so matches the language tag "und". 言語タグ "ru" に関連付けられた抑制スクリプト値 "Cyrl" が、リソース "und-Cyrl" に一致します。The suppress-script value "Cyrl" associated with the language tag "ru" matches the resource "und-Cyrl".

正字法の地域の類似性Orthographic regional affinity

地域サブタグが異なる 2 つの言語タグが一致する場合、特定の地域のペアは互いに、他の地域に比べて類似性が強くなります。When two language tags with region subtag differences are matched, particular pairs of regions may have higher affinity to one another than to others. 類似したグループがサポートされるのは、英語 ("en") のみです。The only supported affined groups are for English ("en"). 地域サブタグ "PH" (フィリピン) と "LR" (リベリア) は、"US" 地域サブタグに対して正字法の類似性を持ちます。The region subtags "PH" (Philippines) and "LR" (Liberia) have orthographic affinity with the "US" region subtag. 他のすべての地域サブタグは、"GB" (英国) 地域サブタグに類似します。All other region subtags are affined with the "GB" (United Kingdom) region subtag. したがって、"en-US" と "en-GB" の両方のリソースが利用可能な場合、"en-HK" (英語 (香港特別行政区)) の言語の一覧では、"en-US" のリソースよりも "en-GB" のリソースの方がスコアが高くなります。Therefore, when both "en-US" and "en-GB" resources are available, a language list of "en-HK" (English (Hong Kong SAR)) will get a higher score with "en-GB" resources than with "en-US" resources.

多くの地域バリアントを持つ言語の処理Handling languages with many regional variants

一部の言語は大きな話者コミュニティを持ち、地域が異なると、その言語の変種を使っています — 英語やフランス語、スペイン語などが、多言語アプリでよくサポートされているその種の言語です。Certain languages have large speaker communities in different regions that use different varieties of that language—languages such as English, French and Spanish, which are among those most often supported in multilingual apps. 地域の違いには、正書法の違い (たとえば、"color" と "colour") や語彙のような方言の違い (たとえば、"truck" と "lorry") があります。Regional differences can include differences in orthography (for instance, "color" versus "colour"), or dialect differences such as vocabulary (for instance, "truck" versus "lorry").

重要な地域のバリアントを持つこれらの言語は、国際対応アプリを行うときに、いくつかの課題を提示します。「数のさまざまな地域バリアントがサポートされますか。」These languages with significant regional variants present certain challenges when making a world-ready app: "How many different regional variants should be supported?" "どれをサポートすればいいのか"、"Which ones?" "アプリで地域バリアントを管理する最も費用対効果の高い方法はどれか"、"What's the most cost-effective way to manage these regional variant assets for my app?" といった疑問のすべてに答えることは、このトピックの範囲を超えています。It's beyond the scope of this topic to answer all these questions. ただし、Windows に用意されている言語の対応付けのメカニズムは、地域バリアントを処理するときに役立つ機能を備えています。However, the language matching mechanisms in Windows do provide capabilities that can help you in handling regional variants.

アプリは多くの場合、どの言語でも 1 種類の変種しかサポートしません。Apps will often support only a single variety of any given language. 地域を問わず英語の話者に使われることが想定されているアプリに、英語の変種用のリソースが 1 種類しか用意されていないとしてみましょう。Suppose an app has resources for just one variety of English that are expected to be used by English speakers regardless of what region they are from. この場合、地域サブタグのないタグ "en" がこの想定を反映したものになります。In this case, the tag "en" without any region subtag would reflect that expectation. しかし、アプリでは従来、地域サブタグを含む "en-US" のようなタグを使ってきた可能性があります。But apps might have historically used a tag such as "en-US" that includes a region subtag. この場合、それでも問題ありません。アプリは英語の 1 種類の変種しか使わず、Windows は、ある地域バリアントのタグの付いたリソースを、ユーザー言語設定を使って異なる地域バリアントに適切な方法で対応付けます。In this case, that will also work: the app uses only one variety of English, and Windows handles matching a resource tagged for one regional variant with a user language preference for a different regional variant in an appropriate way.

ただし、複数の地域バリアントをサポートする場合は、たとえば "en" と "en-US" との違いがユーザー エクスペリエンスに大きな影響を及ぼすことがあり、どの地域サブタグを使うかが重要な問題になります。If two or more regional varieties are going to be supported, however, a difference such as "en" versus "en-US" can have a significant impact on the user experience, and it becomes important to consider what region subtags to use.

カナダのフランス語と欧州のフランス語のように、それぞれ別のフランス語版を用意するとします。Suppose you want to provide separate French localizations for French as used in Canada versus European French. カナダ フランス語の場合、"fr-CA" を使うことができます。For Canadian French, "fr-CA" can be used. 欧州の話者向けには、ローカライズ時にフランス語 (フランス) を使うため、"fr-FR" を使うことができます。For speakers from Europe, the localization will use French (France), and so "fr-FR" can be used for that. しかし、ベルギー出身のユーザーで言語設定を "fr-BE" にしている場合はどうなるでしょうか。どちらが使われるのでしょうか。But what if a given user is from Belgium, with a language preference of "fr-BE"; which will they get? 地域 "BE" は "FR" と "CA" のどちらとも異なり、どちらも "任意の地域" の一致とされます。The region "BE" is different from both "FR" and "CA", suggesting an "any region" match for both. ただし、フランスはフランス語の優先する地域です。そのためこの場合は、"fr-FR" が最善の一致と見なされます。However, France happens to be the preferred region for French, and so the "fr-FR" will be considered the best match in this case.

最初は、フランス語の 1 変種だけでアプリをローカライズしていて、フランス語 (フランス) 文字列を使っていたのに、一般的な "fr" と指定しており、新しくカナダ フランス語もサポート対象に加えるとします。Suppose you had first localized your app for only one variety of French, using French (France) strings but qualifying them generically as "fr", and then you want to add support for Canadian French. おそらくカナダ フランス語向けに翻訳し直す必要のあるリソースはごく一部です。Probably only certain resources need to be re-translated for Canadian French. 元のアセットはすべて "fr" という指定のまま使い続けることができ、わずかな新しいアセットだけ、"fr-CA" を使って追加します。You can continue to use all the original assets keeping them qualified as "fr", and just add the small set of new assets using "fr-CA". ユーザー言語設定が "fr-CA" の場合は、"fr-CA" アセットの方が "fr" アセットよりも一致スコアが高くなります。If the user language preference is "fr-CA", then the "fr-CA" asset will have a higher matching score than the "fr" asset. しかし、ユーザー言語設定がフランス語の任意の変種である場合は、地域中立の "fr" アセットの方が "fr-CA" アセットよりも一致スコアが高くなります。But if the user language preference is for any other variety of French, then the region-neutral asset "fr" will be a better match than the "fr-CA" asset.

別の例として、スペイン出身の人とラテン アメリカ出身の人向けに別々のスペイン語版を用意するとします。As another example, suppose you want to provide separate Spanish localizations for speakers from Spain versus speakers from Latin America. また、ラテン アメリカ用の翻訳はメキシコの業者から提供されたとします。Suppose further that the translations for Latin America were provided from a vendor in Mexico. 2 組のリソースに対して、"es-ES" (スペイン) と "es-MX" (メキシコ) を使えばいいのでしょうか。Should you use "es-ES" (Spain) and "es-MX" (Mexico) for two sets of resources? もしそうした場合は、アルゼンチンやコロンビアのようなラテン アメリカの別の地域出身の人に "es-ES" リソースが使われるという問題が起きます。If you did, that could create problems for speakers from other Latin American regions such as Argentina or Colombia, since they would get the "es-ES" resources. この場合、もっといい方法があります。マクロ地域サブタグの "es-419" を使えば、ラテン アメリカやカリブ海の地域出身の人が使うアセットであることを示すことができます。In this case, there is a better alternative: you can use a macro region subtag, "es-419" to reflect that you intend the assets to be used for speakers from any part of Latin America or the Caribbean.

地域中立言語タグとマクロ地域サブタグは、いくつかの地域バリアントをサポートする場合、非常に効果的です。Region-neutral language tags and macro region subtags can be very effective if you want to support several regional varieties. 必要となる個別アセットの数を最小限に抑えるために、該当する最も広い地域を反映するように言語を指定することができます。To minimize the number of separate assets you need, you can qualify a given asset in a way that reflects the broadest coverage for which it is applicable. そして、必要に応じてもっと具体的な言語バリアントを追加して、広く適用できるアセットを補います。Then supplement a broadly-applicable asset with a more specific variant as needed. 修飾子が地域中立言語であるアセットは、そのユーザーに適用されるもっと具体的な地域の修飾子を持つ別のアセットがない限り、どの地域バリアントのユーザーに対しても使われます。An asset with a region-neutral language qualifier will be used for users of any regional variety unless there is another asset with a more regionally-specific qualifier that applies to that user. たとえば、"en" アセットはオーストラリア英語ユーザーに一致しますが、"en-053" (オーストラリアまたはニュージーランドで使われている英語) の方がそのユーザーにとっては優れた一致であり、"en-AU" アセットが考えられる限り最善の一致です。For example, an "en" asset will match for an Australian English user, but an asset with "en-053" (English as used in Australia or New Zealand) will be a better match for that user, while an asset with "en-AU" will be the best possible match.

英語は特に注意する必要があります。English needs special consideration. アプリに 2 種類の英語変種によるローカライズ版を追加する場合、それは米国英語版か英国英語版、または、"国際" 英語版になる可能性が高くなります。If an app adds localization for two English varieties, those will likely be for US English and for UK, or "international", English. 先に述べたとおり、米国以外の一部の地域は米国のスペル規則に従っていて、Windows の言語の対応付けではこれが考慮されています。As noted above, certain regions outside the US follow United States spelling conventions, and Windows language matching takes that into consideration. この場合、ある言語バリアント用に地域中立タグの "en" を使うことはお勧めできません。代わりに、"en-GB" と "en-US" を使ってください In this scenario, it is not recommended to use the region-neutral tag "en" for one of the variants; instead, use "en-GB" and "en-US". (場合は、特定のリソースは、別のバリエーションを必要としない、ただし、"en"使用できます。)"EN-GB"または"EN-US"は、"en"に置き換え場合、Windows によって提供平行投影地域のアフィニティを使用して影響をされます。(If a given resource doesn’t require separate variants, however, "en" can be used.) If either "en-GB" or "en-US" is replaced by "en", then that will interfere with the orthographic regional affinity provided by Windows. 第 3 の英語ローカライズ版を追加する場合は、必要に応じて追加するバリアント特有の地域サブタグまたはマクロ地域サブタグを使い (たとえば、"en-CA"、"en-AU"、"en-053")、"en-GB" と "en-US" はそのまま使い続けます。If a third English localization is added, then use a specific or macro region subtag for the additional variants as needed (for example, "en-CA", "en-AU" or "en-053"), but continue to use "en-GB" and "en-US".