|
VisualStudio.NET 2008SP1 |
|
Visual Stuido .NETはMicrosoftの開発ツールであるが、2005の時からMicrosoftは無償版のExpress Editionをリリースし始めた。今回はこれを使うことにする。
2009年10月現在、最新版はVisual Studio .NET 2008 Service Pack1である。英語版XP+MUI環境でも、日本語版VS2008が問題なく入る。
VisualStudio.NETで多言語対応時に考えるところが2パターンある。画面のデザインと、それ以外の文字列である。まずは画面のデザインから見ていくことにする。
|
|
画面のデザイン |
|
ボタンを押すとメッセージを表示するという簡単なサンプルアプリケーションを作りながら見ていくことにする。
Visual C#を起動し、新しいWindowsアプリケーションを作る。画面にはボタンをひとつ配置する。フォーム名とボタン名を日本語で適当につける。
プロパティウィンドウでLocalizationを「True」に、Languageを「英語」に切り替える。フォームのデザイン画面のタブが「Form1.cs [デザイン - 英語]」に切り替わるのがわかる。
適当に英語のフォーム名とボタン名をつける。このとき、ソリューションエクスプローラのForm1.csの下に、「Form1.en.resx」というファイルが増えるのに注目。
続けてプロパティウィンドウのLanguageを「簡体字中国語」に切り替える。デザインウィンドウのタイトルが[デザイン - 簡体字中国語]になる。
中国語で適当にフォーム名とボタン名をつける。先ほどと同じく、ソリューションエクスプローラには「Form1.zh-CHS.resx」というファイルが増える。
Languageを「(規定値)」に戻す。画面デザインが日本語に戻る。
これで多言語対応の画面デザインは終了である。もうこのままでも、画面デザインだけであれば多言語環境で動いてしまう。なんとも簡単だ。
|
|
画面デザイン以外の多言語対応 |
|
続いて画面デザイン以外の切り替え方を見ていくことにする。
作成したプロジェクトの上で右クリックし、プロパティを開く。
プロジェクトのプロパティは、いくつかの設定を持っている。画面左側のタブを[リソース]に切り替える。
デフォルトで「String1」というリソースを作成する準備ができているので、そこに適当な日本語のメッセージを入れ、プロジェクトのプロパティを閉じる。
作成したリソースは、ソリューションエクスプローラのProperties\Resources.resxに保存されている。これを、英語用と中国語用も作る。
プロジェクトの右クリックメニューから、新しい項目を追加する。
「アセンブリリソース」を選択し、ファイル名を「Resources.en.resx」(ここ重要)とする。
リソースのデザイン画面が表示される。String1に適当な英語のメッセージを設定し、画面を閉じる。
「Resources.en.resx」は、プロジェクトの直下に作成されている。これをドラッグでPropertiesフォルダの下に移動する。
移動したら、これで英語対応完了。
続けて中国語のメッセージリソースを作成する。プロジェクトの右クリックから新しい項目を追加する。
「アセンブリリソース」を選択し、ファイル名を「Resources.zh-CHS.resx」(重要)とする。
リソースのデザイン画面が表示される。String1に適当な中国語のメッセージを設定し、画面を閉じる。
「Resources.zh-CHS.resx」は、プロジェクトの直下に作成されている。これをドラッグでPropertiesフォルダの下に移動する。
移動したら、これで中国語対応完了。
画面のデザイン画面でボタンをダブルクリックし、ソースの入力画面を開く。
以下のとおりコードを入力する。
MessageBox.Show(projectname.Properties.Resources.String1);
これでメッセージを表示する準備も完了した。続いて動作確認を行う。
|