私の見解では、そのファイルの特定のローカルリソースからリソース文字列にアクセスしたいと思います。Webフォームから知っているように:
(string)GetLocalResource("Title");
痛みがなくスムーズ。フレームワークは、カルチャ情報コード拡張子(.en-EN.resx)から取得する.resxファイルを処理します。
Razoreビューを備えたMVC4でそれは可能ですか?そしてどうやって?
Iv'eはCustom Tool
、.resxファイルのプロパティをに設定できることに気づきましたPublicResXFileCodeGenerator
。そうすれば、ビューからアクセスできます。例:index.cshtml用にデンマーク語と英語の2つのリソースファイルを作成しました。Webフォームの場合と同じように。これが私が書きたいものです(Custom Tool Name
プロパティは'ViewResource'に設定されています):
@ViewResource.Title
バム。現在の文化がデンマーク語の場合、タイトルは「Forside」になり、英語の場合は「Home」になります。しかし、代わりに私が与えられた唯一のオプションは特定のファイルを選択することです。そして、そこから目的の文字列を選択します。
@ViewResource.Index_cshtml_en-EN_resx.Title
それは動的ではありません。だから、どういうわけかen-EN/da-DKに代わる拡張クラスを作れると思いました。しかし、それは本当に「シンプル」で、すでにWebフォームにうまく統合されているものに対しては比較的多くの作業のように思えます。別の方法が必要です。確かに、MVCチームは他のすべてのように私たちのためにいくつかのスマートなメカニズムを持っています:)