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

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

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

概要

.NET Frameworkでは、名前空間の CultureInfo クラスはSystem.Globalization、関連付けられている言語、国/地域、カレンダー、カルチャ規則などのカルチャ固有の情報を提供します。 プロパティは 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. インターネット エクスプローラーを起動し、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. インターネット エクスプローラーを起動し、Page.aspxを開きます。

    注:

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

スレッド レベル

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

  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. インターネット エクスプローラーを起動し、Thread.aspxを開きます。

    注:

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

関連情報

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