|
Last-modified: 2003-12-29 (月) 16:30:50 (7417d)
ユーザの言語環境によって、表示するメッセージやイメージを変更する処理です。 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 チュートリアル サンプルプロジェクト : WinApp01.zip Webアプリケーション編 .NETのWebアプリケーションの場合、リソースファイルを自動的に生成する仕組みはありません。ResXファイルを手動で作成します。 Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]); Thread.CurrentThread.CurrentUICulture = new CultureInfo(Request.UserLanguages[0]); cf. MSDN チュートリアル サンプルプロジェクト : WebApp01.zip IEの言語設定で日本語と英語を切り替えてみてください。 |