次のように、「Resources」フォルダーに 2 つのリソース ファイルを含む ASP.NET MVC4 アプリケーションがあります。
計画 資力 Resources.fr-CA.resx Resources.resx
ユーザー設定に基づいて現在のカルチャを設定すると、この設定ですべてが正常に機能します。
ただし、エラーをユーザーに表示し、データベースに記録するエラーを処理するクラスがあります。私が望むのは、ユーザーの現在のカルチャを使用してエラー メッセージを表示することですが、英語のメッセージを使用してデータベースに記録することです。
私はいくつかの調査を行い、特定のカルチャのリソース文字列を取得するためのいくつかのオプションを見つけましたが、それらに問題があります.
HttpContext.GetLocalResourceString("~/Resources/Resources.resx", "Error_Message", CultureInfo.CreateSpecificCulture("en-US"))
スローThe resource class for this page was not found. Please check if the resource file exists and try again.
uri をいじってみましたが、役に立ちませんでした。
HttpContext.GetGlobalResourceString("Resources", "Error_Message", CultureInfo.CreateSpecificCulture("en-US"))
常に null を返します。
どうすればこれを達成できますか (を変更せずに特定のカルチャのリソース文字列を取得するThread.CurrentThread.CurrentCulture
)?