2

私は初めてポスターを長年聞いています。ローカリゼーション アーキテクチャのいくつかについて読んで、最終的には、私たちのアプローチに関するフィードバックを得ることに本当に興味があります (次のように)。

リソース ファイルで使用することを考えているアプローチについてアドバイスをお願いします。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 サイトで最も一般的に使用されるヘルパーになるでしょう。これにより、物事が短く一貫性が保たれます。ローカリゼーション ヘルパーはキャッシュされた辞書にも値を格納するため、値が複数回使用される場合はキャッシュから取得されます。

私たちが考えていなかったより良いアプローチや改善を知っている人はいますか?

4

1 に答える 1

0

RESX ファイルの代わりにデータベースを使用して、ローカライズされた値を保存することをお勧めします。

データベースを使用すると、アプリケーションを更新するためにコードやファイルをデプロイする必要がなくなります。さらに、ローカライズされた値を変更するための GUI インターフェイスを構築することもできます (これは、サイトの管理者/編集者にとって優れた機能です)。

于 2012-09-07T13:07:00.643 に答える