ローカリゼーション用リソースの階層編成
Visual Studio では、ローカライズされたリソース (カルチャに対応した文字列やイメージなどのデータ) は個別のファイルに格納され、UI カルチャ設定に応じて読み込まれます。これらのリソースを階層形式の編成として考えると、ローカライズされたリソースがどのように読み込まれるかについて理解しやすくなります。
階層内のリソースの種類
階層の最上位には、英語 ("en") など、既定のカルチャのフォールバック リソースがあります。これらは、独自のファイルを持たない唯一のリソースで、メイン アセンブリに格納されます。
フォールバック リソースの下には、ニュートラル カルチャのリソースが置かれます。ニュートラル カルチャは、国/地域ではなく言語に関連付けられます。たとえば、French ("fr") はニュートラル カルチャです。(フォールバック リソースもニュートラル カルチャですが、特別な位置付けであることに注意してください。)
固有のカルチャに対応したリソースは、この下に配置されます。固有のカルチャは、国/言語および地域に関連付けられます。たとえば、French Canadian ("fr-CA") は固有のカルチャです。
アプリケーションがローカライズされたリソース (文字列など) を読み込むときに、それを見つけることができなかった場合は、要求されたリソースが格納されたリソース ファイルが見つかるまで上の階層への移動を繰り返します。
リソースを格納する最善の方法は、リソースをできるだけ一般化することです。つまり、ローカライズされた文字列やイメージなどは、固有のカルチャではなく、できるだけニュートラル カルチャのリソース ファイルに格納します。たとえば、French Belgian ("fr-BE") カルチャ向けのリソースがあるときに、そのすぐ上のリソースが英語のフォールバック リソースである場合、French Canadian カルチャに設定されたシステム上でアプリケーションを使用するときに問題が発生する場合があります。このシステムでは、"fr-CA" のサテライト アセンブリを検索し、それを見つけることができないときに、フォールバック リソースが格納されたメイン アセンブリを読み込みますが、この場所にはフランス語ではなく英語のリソースが格納されています。この不適切なシナリオを表すピクチャを次に示します。
できるだけ多くのリソースを "fr" カルチャのニュートラルなリソース ファイルに配置するという推奨事項が守られている場合、French Canadian のユーザーに "fr-BE" カルチャとしてマークされたリソースが表示されることはなく、French カルチャで文字列が表示されます。適切なシナリオを表す状況を次に示します。
参照
処理手順
方法 : Windows フォームのグローバリゼーション用のカルチャおよび UI カルチャを設定する
概念
その他の技術情報
How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization