この記事では、ASP.NET アプリケーションで現在のカルチャと現在の UI カルチャを変更する方法について説明します。
元の製品バージョン: ASP.NET
元の KB 番号: 306162
まとめ
.NET Framework では、System.Globalization
名前空間のCultureInfo
クラスは、関連する言語、国/地域、カレンダー、カルチャ規則などのカルチャ固有の情報を提供します。 CurrentCulture
プロパティは、現在のスレッドが使用するカルチャを表します。 CurrentUICulture
プロパティは、実行時に Resource Manager がカルチャ固有のリソースを検索するために使用する現在のカルチャを表します。 ASP.NET アプリケーションで Culture 情報を設定するには、アプリケーション レベル、ページ レベル、スレッド レベルの 3 つの方法があります。
アプリケーション レベル
web.config ファイルでアプリケーション レベルのカルチャ情報を指定します。
メモ帳 (またはその他のテキスト エディター) を起動します。
メモ帳に次のコードを貼り付けます。
<configuration> <system.web> <globalization culture="ja-JP" uiCulture="zh-HK" /> </system.web> </configuration>
Web サーバーのルート フォルダー web.config としてテキスト ファイルを保存します。 たとえば、
C:\Inetpub\wwwroot\Web.config
のようにします。メモ帳の別のインスタンスを起動します。 メモ帳に次のコードを貼り付けます。
<%@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>
このテキスト ファイルを Web サーバーのルート フォルダーに Application.aspx として保存します。
Internet Explorer を起動し、 Application.aspxを開きます。
ページ レベル
ページ レベルのカルチャ固有の情報設定は、アプリケーション レベルのカルチャ固有の情報設定をオーバーライドします。 <@Page>
ディレクティブを使用して、ページ レベルのカルチャ情報を指定します。
アプリケーション レベルセクションの手順 1、2、3 に従って、web.config ファイルを作成します。
メモ帳の別のインスタンスを起動します。 メモ帳に次のコードを貼り付けます。
<%@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>
このテキスト ファイルを Web サーバーのルート フォルダーに Page.aspx として保存します。
Internet Explorer を起動し、 Page.aspxを開きます。
Note
現在のカルチャ設定はフランス語ですが、日本語は web.config ファイルの現在のカルチャとして指定されています。
スレッド レベル
スレッド レベルのカルチャ固有の情報設定は、ページ レベルのカルチャ固有の情報設定をオーバーライドします。 現在のスレッドの CurrentCulture
プロパティまたは CurrentUICulture
プロパティを設定して、スレッド レベルのカルチャ固有の情報を指定します。
アプリケーション レベルセクションの手順 1、2、3 に従って、web.config ファイルを作成します。
メモ帳の別のインスタンスを起動します。 メモ帳に次のコードを貼り付けます。
<% @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>
このテキスト ファイルを Web サーバーのルート フォルダーに Thread.aspx として保存します。
Internet Explorer を起動し、 Thread.aspxを開きます。
Note
現在のカルチャ設定はドイツ語ですが、フランス語はページ レベルで指定され、日本語は web.config ファイルで指定されています。
関連情報
詳細については、「 CultureInfo クラス」を参照してください。