問題タブ [resourcemanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした
2 つの ASP.NET Web プロジェクト (ProjectA と ProjectB) があります。ProjectA のクラスが、リソース ファイル Blah.resx を使用する ProjectB のクラスをインスタンス化すると、次のエラーが発生します。
タイプ 'System.Resources.MissingManifestResourceException' の例外が mscorlib.dll で発生しましたが、ユーザー コードでは処理されませんでした。
指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした。コンパイル時に "Resources.Blah.resources" がアセンブリ "App_GlobalResources.sn_flri6" に正しく埋め込まれているかリンクされていること、または必要なすべてのサテライト アセンブリが読み込み可能で完全に署名されていることを確認してください。
これは何が原因ですか?
このhttp://support.microsoft.com/kb/318603に関する Microsoft のサイトには、次のような記事があります 。
この問題を解決するには、フォームのクラス定義の後に表示されるように、他のすべてのクラス定義を移動します。
これは Windows フォーム プロジェクトのソリューションですが、それが Web プロジェクトにも当てはまるかどうかはわかりません。
apache-flex - Flex: ResourceManager.getInstance().getString のラッパーに localeChain の更新が通知されない
最もよく使用する関数のいくつかを含むユーティリティ ライブラリを作成しました。非 UI クラスでのリソース マネージャーの使用を簡素化する ResourceManager.getString のラッパーがあります。
問題は、localeChain が変更されたときに関数が呼び出されないことですが、呼び出すとresourceManager.getStringすべてが期待どおりに機能します。
これはただのラッパーなので、簡単に「長い」表記に戻すことができますが、どうすれば目的の動作を実現できるのか興味があります。
c# - リソースに埋め込まれたファイルのパスを取得する方法 (Resource Manager)
VS2008 C# プロジェクトのリソース (resx ファイル) に埋め込まれている html ファイルのファイル パスを取得しようとしています。このファイルのパスをネイティブ Web ブラウザー コントロール (PIEHtml) に渡して、アプリケーションで (DTM_NAVIGATE) をナビゲートできるようにしたいと考えています。DTM_ADDTEXTW を使用してこのコントロールに文字列を渡すことができることはわかっていますが、html テキストのサイズが非常に大きいため、コントロールに文字列を渡したくありません。リソース マネージャー内に埋め込まれたこの html ファイルのファイル パスを抽出する必要があります。
私は使用してみましたが、これはアセンブリ内のhtmlのファイルパスを与えません:
また、サテライト アセンブリでのリソースの取得も読みましたが、問題は解決しませんでした。
誰かがこれを達成する方法について情報を提供できますか?
c# - ASP.NET でリソース マネージャーを作成する方法
ページにリソース マネージャーを作成し、リソース ファイルに保存されているデータを使用したいと考えています。(default.aspx.resx および default.aspx.en.resx)
コードは次のようになります。
しかし、ローカルサーバーでコンパイルして実行すると、次のタイプのエラーが発生します。
指定されたカルチャ (またはニュートラル カルチャ) に適したリソースがディスク上に見つかりませんでした。baseName: resource locationInfo: fileName: resource.resources 説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.Resources.MissingManifestResourceException: ディスク上の指定されたカルチャ (またはニュートラル カルチャ) に適したリソースが見つかりませんでした。baseName: リソースの場所Info: fileName: resource.resources
ソース エラー:
89 行目: else 90 行目: { 91 行目: Welcome.Text = myResourceManager.GetString("LoggedOutWelcomeText"); 92行目: } 93行目:
この問題について私を助けてもらえますか?
c# - リソースを動的にロードし、CurrentUICultureの正しい値を読み取ります
列挙型をわかりやすい文字列に変換するメソッドを作成しています。フレンドリ名はリソースファイルに保存され、グローバリゼーションの対象となります。そこで、2つのリソースファイルを作成しました。Enums.resxとEnums.pt-BR.resxで、キーは列挙型の名前の後に値が続きます(つまり、DeliveryStatus_WaitingForPayment)。
これは、リソースをロードし、列挙型に対応するフレンドリ名を取得するために使用しているコードです。
このメソッドは、CurrentUICultureを無視し、常にデフォルトリソースから値を返すことを除いて、ほぼ完全に機能します。つまり、CurrentUICultureとしてpt-BRを使用している場合でも、Enum.ptではなくEnum.resxから値をロードします。 -BR.resx。
私は何が間違っているのですか?
c# - ResourceManager が正しい resx ファイルを取得しない
正しいリソース ファイル エントリの取得に問題があり、助けが必要です...これが私のシナリオです
この形式に従う大規模なレポート ソリューションの一部である一連のプロジェクトがあります。
Plugin.****レポート
- 参照(フォルダ)
- DataAccessLayer (フォルダー)
- DataSet (フォルダー)
- DataWrappers (フォルダー)
ローカリゼーション (フォルダー)
*.cs
* は生成するレポートの名前です
*.cs には export ステートメントが含まれているため、MEF を使用して取得できます (これが関連しているかどうかはわかりませんが、言及する価値があると思います)。*.cs の名前空間は CompanyName.DataShaper.Plugin.*Report です。プロジェクト名とファイルの場所により、各プロジェクトのデフォルトの名前空間を CompanyName.DataShaper.Plugin.*Report に変更しました (変更前は Plugin.*Report でした)。
ここで問題が発生しました.. *.cs の内部で、ResourceManager をインスタンス化しています。それはこのように見えます...
私のresxデザイナーファイル内には、次のものがあります...
リソースマネージャーへの呼び出しは次のようになります...
ここで、_currentCultureInfo は正しい CultureInfo オブジェクトです。
各プロジェクトの Localization フォルダーに 4 つの異なる resx ファイルがあります (****Report.resx、****Report.fr-ca.resx、****Report.en-gb.resx、*** *Report.de-de.resx)。
リソース マネージャーを呼び出すと、常に .resx からエントリを取得します。呼び出しに渡す CultureInfo オブジェクトに関係なく、他の言語ファイルは取得しません。私は何を台無しにしましたか?
--> 元の質問を簡単に更新しますが、これは MEF に関連しているようです。クラスを昔ながらの方法 (new *Report()) でインスタンス化し、ローカリゼーション呼び出しを行ったところ、正常に動作しました
.net - 複数の resx ファイルを使用したローカリゼーション
私の Web アプリケーションは、ResourceManager を使用してサテライト アセンブリに配置されたリソース ファイルを介してローカリゼーションを処理しています。アプリケーションが成長しているため、resx ファイルを (言語ごとに) 複数のファイルに分割したいのですが、クライアント側では、読み取りたいファイルごとに ResourceManager インスタンスを作成する必要があるようです。複数のresxファイルを1つにラップする方法はありますか?
ありがとう
.net - カスタム カルチャの使用時に ResourceManager が正しいリソース セットを選択しない
Alex Adamyanがこのブログで見つけたコードを使用して、ローカライズされた MVC Web サイトを作成しました。
既存の文化を使用する場合、これはうまく機能しています。ただし、タガログ語 (tl または tl-PH) にローカライズしようとしています。Windows にはこのカルチャが組み込まれていないため、次のコードに従って作成しました (tl と tl-PH の両方を試しました)。
また、テスト サイトの ~/Views/Home/Resources に 4 つのリソース ファイルがあります。
- ホーム.aspx.resx;
- Home.aspx.tl.resx
- Home.aspx.tl-PH.resx
- Home.aspx.de.resx
ビルドすると、bin ディレクトリの下に適切な名前の 3 つのディレクトリが作成され、それぞれに適切な名前の dll があります。
したがって、Web サイトのホームページhttp://localhost:1907 にアクセスすると、デフォルト (英語) の言語文字列が表示されます。
ドイツ語 (de) のホームページhttp://localhost:1907/deにアクセスすると、ドイツ語版のサイトが表示されます。
タガログ語版http://localhost:1907/tlまたはhttp://localhost:1907/tl-PHにアクセスすると、タガログ語版ではなく英語版が表示されます。
リソース フェッチ コードにブレークポイントを配置し、現在のスレッドのカルチャと UI カルチャがタガログ カルチャに正しく設定されていること、およびタガログが resourceManager.GetString(key, culture) に渡されるカルチャであることを確認しました。
何かご意見は?文化を正しく作成していませんか?
apache-flex - バインド可能性を確保するために Flex/Actionscript の「列挙型」をローカライズする方法は?
次のようなシミュレートされた列挙型があります。
これらの列挙型にバインドするボタンは次のとおりです。
この列挙型をローカライズする必要がありますが、ロケールを更新するときにバインディングを他のすべてのものと一緒に更新するのはうまくいきませんでした:
ResourceManagerによってスローされると思われる「変更」イベントにゲッターをバインドしようとしましたが、うまくいかないようです。何か案は?
c# - ResourceManager GetObject による画像の取得 — 毎回呼び出すか、結果を保存するか?
あるコントロールにグラフィックを表示する必要があるとしましょう。しかし、ある条件に基づいて切り替えられる 3 つの画像があります。リソース ファイルに 3 つのビットマップが追加されます。
そのため、ResourceManager.GetObject を呼び出してそれらを取得します。
問題は、次のようにする必要があるということです。
- 画像を切り替える必要があるたびに、GetObject を呼び出して画像を取得し、コントロールに割り当てたり、
- 最初に各画像の GetObject の結果を保持して、GetObject への呼び出しが 3 回だけになるようにします。代わりに、変数から画像を割り当てます。
1) を行うと、CLR Profiler で表示すると、多くの GC ハンドルが生成されるようです。2)の悪い副作用を知りたい。
どうもありがとう。