目次
WinFormsアプリケーションの多言語化(多言語対応)について
Formの多言語化は、デザイナーで、Formのプロパティ Localized を Trueに設定した後、
Language を ローカライズしたい言語に変更し、デザイナーで言語を書き換える。
『Default(既定)』は、言語設定に対応するローカライズデータがない場合に採用されるので、英語にしておくと良い。なお、日本語で作り込んでしまった場合は、後述の方法で対応できる。
(既定)の設定での表示に、カルチャインフォに対応した言語データが差分適用される。
言語情報は、ja.JPのように国名を含めることができる。
同じ言語でも国ごとに異なる表示としたい場合には、国名を指定すると良い。
アセンブリリソースファイルを追加する。
プロジェクトファイル直下のPropertiesのもとに、Resources.resxというがファイルがあるので、Resources.(カルチャ).resxという名前のファイルを追加
適当な名称で文字列を追加する。
コードからは、Properties.Resources.*** でアクセスする。カルチャインフォにしたがって、対応する言語のリソースファイルが読み出される。
Comboboxで切り替えれるようにする方法
var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures); this.comboBox1.DataSource = cultures;// ComboBoxに取得したカルチャ情報を設定する this.comboBox1.DisplayMember = "DisplayName"; // CultureInfoオブジェクトのDisplayNameプロパティの値をComboBoxのリストに表示
プログラム側で、Thread.CurrentThread.CurrentUICultureプロパティ を使って言語設定を適宜、切り替えてしまうと良い。
https://developer.microsoft.com/ja-jp/windows/develop/multilingual-app-toolkit
からVS拡張機能をダウンロードしてインストールする。