複数のクライアントに送信する Web サイトがあります。時々、クライアントはマイナーな変更を要求することがあります。私の手に負えない理由により、どんなに些細な要求であっても従わなければなりません。通常、これは問題ではありません。ユーザー コントロールまたはページのクライアント固有のバージョンを作成し、ビルド時にデフォルトのものを上書きするか、それを処理するための構成設定を行うだけです。
現在、サイトをローカライズしているため、言葉遣いを少し変更する最善の方法について知りたいと思っています。
Resources.resx
300 個のリソースを含む という名前のリソース ファイルがあるとします。というリソースがありContinue
ます。英語の値は「Continue」、フランス語の値は「Continuez」です。
現在、1 人のクライアントが、何らかの理由で「次」と「アフター」と表示することを望んでおり、他のクライアントはそれを維持したいと考えています。このような要求に対応するにはどうすればよいでしょうか? (これは単なる例です)。
私が考えることができる唯一の2つの方法は
- クライアントに固有の別の Resources.resx を作成し、ビルド時に .dll を置き換えます。dll を完全に置き換えるので、新しいリソース ファイルには 300 個の文字列すべてを含める必要があります。明らかな問題は、2 つのリソース ファイルがあり、それぞれに 300 個の文字列を維持する必要があることです。
- カスタム ユーザー コントロール/ページを作成し、カスタム リソース ファイルを使用するように変更します。たとえば、SignIn.ascx はビルド中に置き換えられ、
ClientName.resx
代わりにからリソースを取得しResources.resx
ます。
他に試すことができることはありますか?ClientResources.resx
指定されたリソース ファイルを実際に参照する前に、オーバーライドされた値をアプリケーションが常にファイル内で参照するように変更する方法はありますか?