複数の言語をサポートする必要がある C#/Winforms の Visual Studio .NET の下にダイアログ ボックスを作成しました。ダイアログのLocalizableプロパティを True に設定し、ニュートラルな言語- フランス語を選択して、ダイアログにフランス語のテキストとフランス語 (フランス) を入力しました。関連するリソース ファイルが表示されます。
AboutBox.fr-FR.resx
AboutBox.fr.resx
AboutBox.resx
それをテストするために、以下に示すようにメイン スレッドでスレッド CurrentCulture と CurrentUICulture を CultureInfo("fr-FR") に設定し、ダイアログ ボックスを作成しましたが、英語版しか表示されません。ダイアログ コンストラクターで、スレッドの CurrentCulture と CurrentUICulture がまだ "fr-FR" に設定されていることを確認しました。
CultureInfo cultureInfo = new CultureInfo("fr-FR");
Thread.CurrentThread.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
アセンブリの全体的なニュートラル言語は英語-米国です。
出力ウィンドウに有用なメッセージが表示されません。.NET ローカリゼーション ランタイムの動作の理由を突き止める最善の方法は何ですか?