私は初めてポスターを長年聞いています。ローカリゼーション アーキテクチャのいくつかについて読んで、最終的には、私たちのアプローチに関するフィードバックを得ることに本当に興味があります (次のように)。
リソース ファイルで使用することを考えているアプローチについてアドバイスをお願いします。MVC 3.0 を使用しており、Web サイト プロジェクトとリソース プロジェクトがあります。リソース プロジェクトには、ウェブサイトと同じ構造を模倣した構造があります (例: controller -> view -> file )。
たとえば、ビュー/コントロールの上にリソース名前空間をインポートすることで、ビュー内の resx ファイルを参照し、index がリソース ファイルの名前である場所<%@ Import Namespace="MyAppResources.Resources.Website.Home" %>
を使用して、必要な resx 値を参照し<%= Index.SomeText %>
ます。
私たちが考えていて、アドバイスが欲しいのは、このアプローチを使用する代わりに、リソース resx 構造を Web サイト領域に分割し、ヘルパーを使用することです。たとえばLocalizationHelper.GetValue("Home", "SomeText")
、"Home" はリソース ファイルの名前であり、"SomeText"
その resx の値です。ファイル。これを行う理由は、作成した小さなコピーの変更ごとにリソース プロジェクトをコンパイルし続ける必要がないためです (デプロイされた環境の迅速な修正が必要になる場合があるため)。また、おそらく Web サイトで最も一般的に使用されるヘルパーになるでしょう。これにより、物事が短く一貫性が保たれます。ローカリゼーション ヘルパーはキャッシュされた辞書にも値を格納するため、値が複数回使用される場合はキャッシュから取得されます。
私たちが考えていなかったより良いアプローチや改善を知っている人はいますか?