方法 : ASP.NET Web サイトに対してリソース ファイルを作成する (Visual Studio)

更新 : 2007 年 11 月

リソース ファイルは、文字列やその他のリソース (イメージ ファイル パスなど) を含む XML ファイルです。通常、リソース ファイルは、他の言語に翻訳する必要があるユーザー インターフェイス文字列を格納するのに使用されます。これは、Web ページを翻訳する各言語に対して個別にリソース ファイルを作成できるためです。

グローバル リソース ファイルは、Web サイト内のすべてのページまたはコンポーネントで使用できます。ローカル リソース ファイルは、1 つの Web ページ、ユーザー コントロール、またはマスタ ページに関連付けられ、そのページのリソースのみを含みます。詳細については、「ASP.NET Web ページのリソースの概要」を参照してください。

Visual Web Developer では、マネージ リソース エディタを使用して、グローバル リソース ファイルまたはローカル リソース ファイルを作成できます。ローカル リソース ファイルの場合、デザイナで Web ページから直接、カルチャ ニュートラル基本リソース ファイルを生成することもできます。

リソースの手動作成

リソース ファイルを手動で作成するには

  1. 次のいずれかの方法により、Web サイトにリソース ファイルを格納するためのフォルダがあることを確認します。

    • グローバル リソース ファイルを作成する場合、App_GlobalResources という名前のフォルダが必要です。フォルダを作成するには、ソリューション エクスプローラで、Web サイトの名前を右クリックし、[フォルダの追加] をクリックし、[App_GlobalResources フォルダ] をクリックします。これらのフォルダは 1 つのアプリケーションに対して 1 つだけ、アプリケーションのルートに存在している必要があります。

    • ローカル リソース ファイルを作成する場合、App_LocalResources という名前のフォルダが必要です。フォルダを作成するには、ソリューション エクスプローラで、Web サイトの名前を右クリックし、[フォルダの追加] をクリックし、[App_LocalResources フォルダ] をクリックします。これらのフォルダは 1 つのアプリケーションに対していくつでも、またアプリケーション内のどのレベルにでも存在できます。

  2. リソース ファイルを作成するには、App_GlobalResources フォルダまたは App_LocalResources フォルダを右クリックし、[新しい項目の追加] をクリックします。

    ms247246.alert_note(ja-jp,VS.90).gifメモ :

    グローバル リソース ファイルは、App_GlobalResources フォルダに格納する必要があります。このフォルダ外に .resx ファイルを作成しようとすると、このフォルダに作成するように指示するメッセージが表示されます。

  3. [新しい項目の追加] ダイアログ ボックスの、[Visual Studio にインストールされたテンプレート] の下の [アセンブリ リソース ファイル] をクリックします。

  4. [名前] ボックスで、リソース ファイルの名前を入力し、[追加] をクリックします。

    マネージ リソース エディタで、指定したリソース ファイルが開きます。エディタには、名前 (キー)、値、およびオプション コメントを入力できるグリッドが表示されます。

  5. アプリケーションで必要な各リソースのキー名と値を入力し、ファイルを保存します。

    ms247246.alert_note(ja-jp,VS.90).gifメモ :

    コントロールは、ストリーム転送されるイメージ ファイルとしてリソース文字列を読み込まないので、リソース ファイルに直接グラフィックを埋め込むことはできません。リソース ファイルからグラフィックを提供するには、グラフィックの URL を文字列として保存します。

  6. 他の言語用のリソース ファイルを作成するには、ソリューション エクスプローラまたは Windows エクスプローラでファイルをコピーして、次のいずれかの形式のファイル名に変更します。

    • グローバル リソース ファイルの場合

      name.language.resx

      name.language-culture.resx

    • ローカル リソース ファイルの場合

      pageOrControlName.extension.language.resx

      pageOrControlName.extension.language-culture.resx

    たとえば、エジプト アラビア語用のグローバル リソース ファイル WebResources.resx を作成する場合は、コピーしたファイル名を WebResources.ar-eg.resx に変更します。カルチャを指定しないスペイン語用の関連リソース ファイルを作成する場合は、コピーしたファイル名を WebResources.es.resx に変更します。ローカル リソース ファイルのリソース ファイル名は、拡張子を含むページ名またはコントロール名、および言語情報とカルチャ情報で構成されます。

  7. コピーしたファイルを開き、名前 (キー) はそのままにして各値を翻訳します。

  8. 追加する各言語について、手順 6. と 7. を繰り返します。

Web ページからのリソース作成

次の機能は、Visual Web Developer Express では使用できません。

ASP.NET Web ページからローカル リソース ファイルを生成するには

  1. リソース ファイルを作成するページを開きます。

  2. デザイン ビューに切り替えます。

  3. [ツール] メニューの [ローカル リソースの生成] をクリックします。

    App_LocalResources フォルダが存在しない場合は、自動的に作成されます。次に、現在のページに対して、カルチャ ニュートラル基本リソース ファイルが作成されます。このファイルには、ローカリゼーションが必要な各コントロール プロパティまたはページ プロパティのキー/名前ペアが含まれます。最後に、各 ASP.NET Web サーバー コントロールに meta 属性が追加され、暗黙のローカリゼーションを使用するようにコントロールが構成されます。暗黙のローカリゼーションおよび明示的なローカリゼーションの詳細については、「ASP.NET Web ページのリソースの概要」および「方法 : リソースを使用して Web サーバー コントロールのプロパティ値を設定する (Visual Studio)」を参照してください。

  4. アプリケーションで必要な各リソースの値を入力し、ファイルを保存します。

    ms247246.alert_note(ja-jp,VS.90).gifメモ :

    コントロールは、ストリーム転送されるイメージ ファイルとしてリソース文字列を読み込まないので、リソース ファイルに直接グラフィックを埋め込むことはできません。リソース ファイルからグラフィックを提供するには、グラフィックの URL を文字列として保存します。

  5. 最新のリソース変更が反映されない場合は、いったんソース ビューに切り替え、再度デザイン ビューに戻すことで最新の情報に更新できます。

  6. 前の手順 6. と 7. に従って、追加する言語用のリソース ファイルを作成します。

Visual Web Developer でグローバル リソース ファイルを生成するには

  1. ソリューション エクスプローラで、Web サイトの名前を右クリックし、[新しい項目の追加] をクリックします。次に、[リソース ファイル] をクリックします。

    ファイルを App_GlobalResources フォルダに保存するかどうかをたずね、このフォルダを作成することを示すメッセージが表示されます。

  2. [はい] をクリックします。

  3. アプリケーションで必要な各リソースの値を入力し、ファイルを保存します。

    ms247246.alert_note(ja-jp,VS.90).gifメモ :

    コントロールは、ストリーム転送されるイメージ ファイルとしてリソース文字列を読み込まないので、リソース ファイルに直接グラフィックを埋め込むことはできません。リソース ファイルからグラフィックを提供するには、グラフィックの URL を文字列として保存します。

  4. 最新のリソース変更が反映されない場合は、いったんソース ビューに切り替え、再度デザイン ビューに戻すことで最新の情報に更新できます。

  5. 他の言語用のリソース ファイルを作成するには、ソリューション エクスプローラまたは Windows エクスプローラでファイルをコピーして、次のいずれかの形式のファイル名に変更します。

    name.language.resx

    name.language-culture.resx

    ms247246.alert_note(ja-jp,VS.90).gifメモ :

    リソース ファイルの名前には、.aspx を含めないでください。この文字列を含めると、名前の競合が生じることがあります。たとえば、Resource フォルダに、 resTestPage.resx と resTestPage.aspx.resx の 2 つのファイルを配置することはできません。この 2 つを一緒に配置した場合、コンパイル中のファイル名の解決処理で名前の競合が発生し、コンパイル時エラーになります。

参照

処理手順

チュートリアル : ASP.NET でのローカリゼーションのためのリソースの使用

方法 : リソースを使用して Web サーバー コントロールのプロパティ値を設定する (Visual Studio)

概念

ASP.NET Web ページのリソースの概要