ベクトルドロー・レベルゼロ+

ホーム > コンピュータ > C# > WPF in C#

リソースとリソース代替

リソースとリソース代替 Resources and Resource Fallback

リソースは、格納され、アセンブリから読み込まれます。-それぞれの具体的に地域設定されたカルチャについて、 一旦、特定のリソース・アセンブリは、アプリケーション・ドメインでResourceSetにキャッシュに格納される、 リソースが読み込まれます。それぞれのResourceSetが、具体的なカルチャのためのリソースの1つの設定を表現する場所で、 1つのResxファイルの内容と同等です。ResourceManager形式は、具体的なカルチャのためのリソースを取得するために使用されます。 現在のカルチャに一致するリソースが存在しない場合、-それが、このカルチャのために定義された全てのリソースがないかどうかに関係なく、 あるいは、リソース・キーが欠落しているかどうかに関係なく、-アプリケーションは、Resource Fallbackと呼ばれる不可欠な概念を使用して、 最も近い一致するリソースに戻します。 Resource Fallbackは、カルチャ階層構造を下方に、最も関連したリソースを検索します。 それは、カルチャが、最も具体的なものから、最も具体的でないものまで、検索されることを示しています。

例えば、アプリケーションが、US English (en-US)のリソースでコンパイルされる場合、 そして、アプリケーションは、代替の階層は次のように、German UICulture (de-DE)で実行されます。:

  1. 具体的なカルチャ(de-DE)
  2. 指定されていないカルチャ(de)
  3. 既定のカルチャあるいは指定されていないカルチャ(en-US)

Figure 1は、この代替品処理を具体的に説明します。

FIGURE 1:.アプリケーションのResource Fallbackは、具体的なアセンブリのカルチャのリソースから取得した、 最も具体的なカルチャから既定のカルチャに動作します。

Figure 1 代替処理の流れ

地域設定されたリソース・アセンブリは、サテライト・アセンブリと呼ばれます。 そして、それらは、中心となるアプリケーション・フォルダの下に、特定のカルチャのフォルダで位置決めをされます。 Figure 1の、サテライト・アセンブリは\de-DEと\deフォルダの下で配置されます。

一般的に中心となるアプリケーション・アセンブリは、既定のリソースや指定されていないリソースと呼ばれるリソースのまとまりが含まれています。 -多くの場合、Englishカルチャに基づきます。既定では、読み込まれたリソースがあります。 ランタイムが、代替品階層構造のサテライト・アセンブリで、一致するリソース・キーを見つけ出すことができない場合。 しかしながら、中心となるアセンブリは、NeutralResourceLanguageAttribute設定を含むことができます。 それは、リソースが、中心となるアセンブリに格納されている、あるいは、最終的に代替品サテライト・アセンブリを検索する場所を示します。 次に示す設定は、示します。リソース代替品は、中心となるアセンブリを使用する必要があります。そして、 en-USのためのどんな要求も、サテライト・アセンブリ・フォルダを検索するよりもむしろ、中心となるアセンブリから、すぐに読み込むことが必要です。:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]

この設定は、プロジェクトで使用する必要があります。それは、Resxリソースの地域設定だけを使用します。 あなたは、同様に、具体的なサテライト・アセンブリを指定することができます。次のような、代替アセンブリとして、:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]

あなたが、地域設定されたBAMLリソースを使用する場合、地域設定されたBAMLリソースが、中心となるアセンブリからではなく、 常にサテライト・アセンブリからの読み込まれるように、後者が必要となります。

  • 次のページ
  • 前のページ
  • 目次
  • 原文

    WPF Localization Guidance 「Rick StrahlとMichele Leroux Bustamante(2009年6月)」の和訳です。 の和訳の目次です。地域設定の実装の参考にしてください。

    関連ファイル

    Copyright (C) 2011-2016 kukekko All Rights Reserved.
    kukekko@gmail.com
    ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
    「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
    inserted by FC2 system