多言語テキストにリソース ファイルを使用する多言語 C# WinForms アプリケーションがあります。アプリを再コンパイルせずに、他の言語を含む新しいリソース ファイルを追加する可能性はありますか。
最終的な目標は、顧客がアプリをさまざまな言語に翻訳し、アプリ全体を再コンパイルする必要なく、新しい言語/リソース ファイルを展開できるようにすることです。
「サテライト アセンブリ」を探しています。MSDN サイトには、非常に優れた説明とチュートリアルがあります。サテライト アセンブリの作成
GUIコンポーネントごとにXMLドキュメントを作成するため、言語を修正すると、アプリケーションはxmlドキュメントを逆シリアル化し、新しい値を入力します。これ以上簡単なことはわかりません
リソース ファイルは埋め込みリソースです。したがって、コンパイルせずに新しいリソース ファイルを追加して使用することはできません。オプションは、サテライト アセンブリを使用する可能性があります。
一方、xml ファイルを使用して必要なデータを保存し、カルチャに基づく命名規則を使用して、アプリケーションが関連する xml ファイルからリソースを読み取ることができます。
もちろん、resx ファイルを作成し、resgen を使用して個別にコンパイルするだけです。
「リソース ファイル ジェネレーター (Resgen.exe) は、テキスト (.txt または .restext) ファイルと XML ベースのリソース形式 (.resx) ファイルを、ランタイム バイナリ実行可能ファイルに埋め込むことができる共通言語ランタイム バイナリ (.resources) ファイルに変換します。またはサテライト アセンブリです。(デスクトップ アプリのリソース ファイルの作成を参照してください。)"