ローカリゼーション用リソースの階層編成

更新 : 2007 年 11 月

Visual Studio では、ローカライズされたリソース (カルチャに対応した文字列やイメージなどのデータ) は個別のファイルに格納され、UI カルチャ設定に応じて読み込まれます。これらのリソースを階層形式の編成として考えると、ローカライズされたリソースがどのように読み込まれるかについて理解しやすくなります。

階層内のリソースの種類

  • 階層の最上位には、英語 ("en") など、既定のカルチャのフォールバック リソースがあります。これらは、独自のファイルを持たない唯一のリソースで、メイン アセンブリに格納されます。

  • フォールバック リソースの下には、ニュートラル カルチャのリソースが置かれます。ニュートラル カルチャは、地域ではなく言語に関連付けられます。たとえば、French ("fr") はニュートラル カルチャです。(フォールバック リソースもニュートラル カルチャですが、特別な位置付けであることに注意してください。)

  • 固有のカルチャに対応したリソースは、この下に配置されます。固有のカルチャは、言語および地域に関連付けられます。たとえば、French Canadian ("fr-CA") は固有のカルチャです。

アプリケーションがローカライズされたリソース (文字列など) を読み込むときに、それを見つけることができなかった場合は、要求されたリソースが格納されたリソース ファイルが見つかるまで上の階層への移動を繰り返します。

リソースを格納する最善の方法は、リソースをできるだけ一般化することです。つまり、ローカライズされた文字列やイメージなどは、固有のカルチャではなく、できるだけニュートラル カルチャのリソース ファイルに格納します。たとえば、French Belgian ("fr-BE") カルチャ向けのリソースがあるときに、そのすぐ上のリソースが英語のフォールバック リソースである場合、French Canadian カルチャに設定されたシステム上でアプリケーションを使用するときに問題が発生する場合があります。このシステムでは、"fr-CA" のサテライト アセンブリを検索し、それを見つけることができないときに、フォールバック リソースが格納されたメイン アセンブリを読み込みますが、この場所にはフランス語ではなく英語のリソースが格納されています。この不適切なシナリオを表すピクチャを次に示します。

固有のリソース専用

できるだけ多くのリソースを "fr" カルチャのニュートラルなリソース ファイルに配置するという推奨事項が守られている場合、French Canadian のユーザーに "fr-BE" カルチャとしてマークされたリソースが表示されることはなく、French カルチャで文字列が表示されます。適切なシナリオを表す状況を次に示します。

NeutralSpecificResources グラフィック

参照

処理手順

方法 : Windows フォームのグローバリゼーション用のカルチャおよび UI カルチャを設定する

方法 : ASP.NET Web ページのグローバリゼーション用のカルチャおよび UI カルチャを設定する

概念

ローカリゼーションのニュートラル リソース言語

セキュリティおよびローカライズされたサテライト アセンブリ

その他の技術情報

アプリケーションのローカライズ

アプリケーションのグローバライズとローカライズ