ASP.NET アプリケーションでプログラムで現在のカルチャを設定する
この記事では、ASP.NET アプリケーションで現在のカルチャと現在の UI カルチャを変更する方法について説明します。
元の製品バージョン: ASP.NET
元の KB 番号: 306162
概要
.NET Frameworkでは、名前空間の CultureInfo
クラスはSystem.Globalization
、関連付けられている言語、国/地域、カレンダー、カルチャ規則などのカルチャ固有の情報を提供します。 プロパティは 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 として保存します。
インターネット エクスプローラーを起動し、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 として保存します。
インターネット エクスプローラーを起動し、Page.aspxを開きます。
注:
現在のカルチャの設定はフランス語ですが、 日本語は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 として保存します。
インターネット エクスプローラーを起動し、Thread.aspxを開きます。
注:
現在のカルチャ設定はドイツ語ですが、フランス語はページ レベルで指定され、日本語は web.config ファイルで指定されます。
関連情報
詳細については、「CultureInfo クラス」を参照してください。