C#とWPFの組み合わせでWindowsデスクトップアプリを作成していますが、リソースファイル(resx)を利用した多言語表示でトラブルがあったので備忘録。
今回のキモは動的な言語切り替えです。
まずは多言語対応としてgrabacr.nétを参考にコードを書きました。
ビルド、実行と難なく表示を切り替えることができました。
では、インストールプロジェクトからインストーラを作成、インストール後に実行すると…
何をどうやっても英語表示。
System.Threading.Thread.CurrentThread.CunrrentCulture.NameをMessageBox.Showで開いてもちゃんと「ja-JP」になっている。
おかしい…デバッグ環境ではちゃんと動いているのに実行環境で動作しないなんて。
ちゃんとリソースファイルは追加されてるよなぁ…
…完全に忘れていました。
はい、実行環境でも多言語表示されるようになりました。
ちゃんと実行環境にリソースファイルがあるか確認しましょうね(自戒)。