ユーザの言語環境によって、表示するメッセージやイメージを変更する処理です。

*** Windowsアプリケーション編
.NETのWindowsアプリケーションでは、''Formのlocalizableプロパティをtrue''に設定すると、Formのプロパティが言語別に''ResXファイル''として保存されるようになります。ResXファイルは''サテライトアセンブリ''としてBuildされ、実行アセンブリから読み取り専用で利用されます。

 デフォルトのFormで利用されるResourceManagerの生存スコープはInitializeComponent()内部のみです。InitializeComponent()のコードはVisualStudio.NETが勝手に書き換える可能性があり、開発者がコードを手書きするべきではありません。なので、Formのプロパティ以外の''localeを設定したいResource''(Dialogのメッセージ等)''は、ResXファイルを別途作成し、手動でResourceManagerをインスタンス化してResourceを取得''するようにします。

cf. [[MSDN チュートリアル:http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbwlkwalkthroughlocalizingwindowsforms.asp]]

サンプルプロジェクト : &ref(WinApp01.zip);
-実行ファイルも同梱
-デフォルトは英語
-日本語環境では日本語

*** Webアプリケーション編
 .NETのWebアプリケーションの場合、リソースファイルを自動的に生成する仕組みはありません。ResXファイルを手動で作成します。~
 当然、HTMLとしても出力できますし、コントロールのプロパティとして設定することも出来ます。~
 注意点としては、''ユーザのlocaleを手動で設定してあげないといけない''ということです。

 Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
 Thread.CurrentThread.CurrentUICulture = new CultureInfo(Request.UserLanguages[0]);

#ref(ie_lang.jpg,right,around)

cf. [[MSDN チュートリアル:http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/Vbcon/html/vbwlkWalkthroughLocalizingWebForms.asp]]

サンプルプロジェクト : &ref(WebApp01.zip);
-実行ファイルも同梱
-デフォルトは英語
-日本語環境では日本語

#ref(ie_lang.jpg,right,around)
 IEの言語設定で日本語と英語を切り替えてみてください。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS