次の方法で共有


ASP.NET アプリケーションで現在のカルチャをプログラムで設定する

この記事では、ASP.NET アプリケーションで現在のカルチャと現在の UI カルチャを変更する方法について説明します。

元の製品バージョン: ASP.NET
元の KB 番号: 306162

まとめ

.NET Framework では、System.Globalization名前空間のCultureInfo クラスは、関連する言語、国/地域、カレンダー、カルチャ規則などのカルチャ固有の情報を提供します。 CurrentCulture プロパティは、現在のスレッドが使用するカルチャを表します。 CurrentUICulture プロパティは、実行時に Resource Manager がカルチャ固有のリソースを検索するために使用する現在のカルチャを表します。 ASP.NET アプリケーションで Culture 情報を設定するには、アプリケーション レベル、ページ レベル、スレッド レベルの 3 つの方法があります。

アプリケーション レベル

web.config ファイルでアプリケーション レベルのカルチャ情報を指定します。

  1. メモ帳 (またはその他のテキスト エディター) を起動します。

  2. メモ帳に次のコードを貼り付けます。

    <configuration>
        <system.web>
            <globalization
                culture="ja-JP"
                uiCulture="zh-HK"
            />
        </system.web>
    </configuration>
    
  3. Web サーバーのルート フォルダー web.config としてテキスト ファイルを保存します。 たとえば、C:\Inetpub\wwwroot\Web.config のようにします。

  4. メモ帳の別のインスタンスを起動します。 メモ帳に次のコードを貼り付けます。

    <%@Page Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <html>
        <head>
        </head>
        <script runat=server>
            public void Page_Load()
            {
                Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName);
            }
        </script>
        <body>
        </body>
    </html>
    
  5. このテキスト ファイルを Web サーバーのルート フォルダーに Application.aspx として保存します。

  6. Internet Explorer を起動し、 Application.aspxを開きます。

ページ レベル

ページ レベルのカルチャ固有の情報設定は、アプリケーション レベルのカルチャ固有の情報設定をオーバーライドします。 <@Page> ディレクティブを使用して、ページ レベルのカルチャ情報を指定します。

  1. アプリケーション レベルセクションの手順 1、2、3 に従って、web.config ファイルを作成します。

  2. メモ帳の別のインスタンスを起動します。 メモ帳に次のコードを貼り付けます。

    <%@Page Culture="fr-FR" Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <html>
        <head>
        </head>
            <script runat=server>
            public void Page_Load()
            {
                Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName);
            }
            </script>
        <body>
        </body>
    </html>
    
  3. このテキスト ファイルを Web サーバーのルート フォルダーに Page.aspx として保存します。

  4. Internet Explorer を起動し、 Page.aspxを開きます。

    Note

    現在のカルチャ設定はフランス語ですが、日本語は web.config ファイルの現在のカルチャとして指定されています。

スレッド レベル

スレッド レベルのカルチャ固有の情報設定は、ページ レベルのカルチャ固有の情報設定をオーバーライドします。 現在のスレッドの CurrentCulture プロパティまたは CurrentUICulture プロパティを設定して、スレッド レベルのカルチャ固有の情報を指定します。

  1. アプリケーション レベルセクションの手順 1、2、3 に従って、web.config ファイルを作成します。

  2. メモ帳の別のインスタンスを起動します。 メモ帳に次のコードを貼り付けます。

    <% @Page Culture="fr-FR" Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <% @Import Namespace="System.Threading" %>
    <html>
        <head>
        </head>
            <script runat=server>
            public void Page_Load()
            {    // Display the Current Culture
                Response.Write("Current Culture is " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>");
    
                // Modify the Current Culture
                Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
                Response.Write("Changing Culture to " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>");
            }
            </script>
        <body>
        </body>
    </html>
    
  3. このテキスト ファイルを Web サーバーのルート フォルダーに Thread.aspx として保存します。

  4. Internet Explorer を起動し、 Thread.aspxを開きます。

    Note

    現在のカルチャ設定はドイツ語ですが、フランス語はページ レベルで指定され、日本語は web.config ファイルで指定されています。

関連情報

詳細については、「 CultureInfo クラス」を参照してください。