0

ローカライズされた言語で実行したい winform の C# アプリケーションがあります。多くのユーザーがまだ XP を使用しているため、ターゲットの .Net は 3.0 です。アプリケーションは、システム トレイ アプリケーションです。

ResX Resource Manager を使用して、すべての文字列を Resources.resx に入れ、必要なさまざまな言語の Resources.XX.resx ファイルを生成しました。

コードを使用して CurrentUICulture を別の言語 (フィンランド語など) に設定した場合:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("fi-FI");

期待どおりに機能し、すべてのフォームがフィンランド語で表示されます。

ただし、言語がフィンランド語に設定されたマシンにアプリケーションをインストールすると、すべての winform で英語の文字列が表示されます (英語もニュートラル文字列です)。

フォームの localizable プロパティが true に設定されていることを確認しました。


CurrentUICulture をハードコーディングした場合は機能するのに、そうでない場合は機能しないのはなぜですか?

PC の UI 言語を確認し、アプリケーションの CurrentUICulture を更新する別の方法はありますか?

4

1 に答える 1