印刷用ページ      送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
国際化対応の Web ページを作成する方法

download.gif サンプル コードのダウンロード (aspnettips_localize.msi, 224 KB)
※このサンプルをお使いいただくためには、 Visual Studio 2005 が必要です。

日本語とそれ以外の言語に対応する文字列を、それぞれリソースファイルから取得し、表示するページを作成してみます。また、Calendar コントロールも配置して、表示形式の変化を確認してみます。

Localize_fig01-1.gif Localize_fig01-2.gif


 図1 日本語での表示と、それ以外の言語での表示


今回は、次の手順でページを作成します。

  1. リソースファイルの作成

  2. リソースファイルの設定

  3. リソース文字列の表示

  4. 実行

(1) リソースファイルの作成

まず、リソースファイルを 2 種類用意します。リソースファイルは、Web サイトの仮想フォルダの下に App_LocalResources フォルダを作り、その下に言語ごとに用意します。

ソリューション エクスプローラの仮想フォルダで、ポップアップメニューを表示し、[フォルダの追加] - [App_LocalResources フォルダ] を選択してください。App_LocalResources フォルダが作られます(図2)。

Localize_fig02.gif

 図2 App_LocalResources フォルダ



この App_LocalResources フォルダで [新しい項目の追加] を選択すると、「新しい項目の追加」ダイアログボックスが表示されます。ここで、[アセンブリ リソース ファイル] を選択し、ファイル名を Default.aspx.ja.resx にしてください(図3)。このファイルが、日本語用のリソースファイルになります。

 図3 Default.aspx.ja.resx の作成



リソースファイルの名称は、「Web フォーム名.カルチャ名.resx」の形式になります。カルチャ名は、言語地域を表す記号で、日本語の場合 ja です。カルチャ名を省略すると、デフォルト言語用のリソースになります。
このデフォルト言語用に Default.aspx.resx というリソースファイルも、同じ方法で作成してください。

(2) リソースファイルの設定

作成したリソースファイルに、文字列を設定します。リソースファイルを開くと、リソースの文字列を設定するためのシートが表示されます。このシートに、文字列を次の表のように設定します。

ファイル名

名前

Default.aspx.ja.resx

String1

カレンダーのページ

Default.aspx.resx

String1

Calendar Page

図4 リソースの設定画面


(3) リソース文字列の表示

用意したリソースファイルから文字列を取得して表示する Web ページを作成します。Web フォーム Default.aspx に、次のように Label コントロール と Calendar コントロールを貼り付けます。

Localize_fig05.gif

 図5 Default.aspx



この Label コントロールに、リソースファイル中の文字列を表示させるためには、Text プロパティの値を次のようにします。String1は、先ほど設定したリソースの「名前」です。

<%$ Resources:String1 %> 

また、ブラウザで設定されている言語情報を自動的にページ反映させるため、@Page ディレクティブの Culture プロパティと UICulture プロパティを Auto に設定しておく必要があります。プロパティ ウィンドウで DOCUMENT を選択し、Culture プロパティと UICulture プロパティの値を Auto にしてください。

Localize_fig06.gif



 図6 Culture、UICulture を Auto に

(4) 実行

実行してみます。一般的なユーザーのブラウザ環境では、言語設定が日本語になっているはずなので、次のように表示されると思います。

Localize_fig07.gif

図7 日本語での表示


Internet Explorer の場合、言語設定を切り替えるには、メニューで [ツール] - [インターネット オプション] を選択し、「全般」タブの中の [言語] ボタンを押します。表示される「言語の優先順位」ダイアログボックスで、「 英語 [en] 」を追加し、それを最上位にしてみてください。その後、ページを再表示すると、今度は英語で表示されます。Calendar コントロールも国際化対応しているので、自動的に英語の表示形式に変わります。

Localize_fig08.gif

 図8 英語での表示


© 2008 Microsoft Corporation.All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker