8

.resx ファイルを使用して WPF アプリケーションをローカライズしています。Resources.en-US.resx や Resources.cs-CZ.resx などの主要な Resources ファイルのコピーを作成しました。文字列に適しています。ただし、リソース ファイル内の画像やドキュメントなどの他のファイルをローカライズする方法がわかりません。

新しいイメージを Resources ファイル (Resources.en-US.resx または Resources.cs-CZ.resx) に追加すると、ファイルのコピーが常に /Resources ディレクトリにコピーされます。したがって、1 つのディレクトリには同じ名前のファイルが 1 つしか存在できないため、1 つのファイルに複数の言語用の複数のバージョンが存在することはありません。

理想的な解決策は、ローカライズされたリソースの画像が /Resources/en-Us などのサブディレクトリにコピーされる場合です。現在の状況では、.resx ファイルを使用して画像やドキュメントをローカライズできません。これを達成する方法はありますか?ありがとうございました。

4

1 に答える 1

4

次の MSDN 投稿ASP.NET 2.0 でのリソースとローカリゼーション - ローカライズされたイメージの表示は次のように述べています。

ASP.NET 2.0 はイメージ ファイルのローカライズを直接サポートしていませんが、目的の効果を得るために多くのカスタム コードを必要としません。

そして、次の回避策を提供します。

イメージ ファイルのローカライズされたバージョンをグローバル リソース ファイルのローカライズされたバージョンに追加することから始めることができます。たとえば、英語版の LitwareSlogan.png は Litware.resx という名前のグローバル リソース ファイルに追加され、フランス語版の LitwareSlogan.fr.png は Litware.fr.resx に追加されています。両方のリソース ファイルのリソースには、LitwareSlogan という同じ名前が付けられています。

完全なサンプル コードは、サイトで提供されています。

于 2012-05-18T16:32:41.987 に答える