0

パフォーマンスとメモリの観点から、ローカリゼーションプロパティファイルに関するベストプラクティスは何ですか?

いくつかの大きなファイルまたは多くの小さなファイル?
プロパティファイルまたはコンパイル済みプロパティクラスファイルを使用しますか?

シナリオ例:
約150個の.jspファイルを含むアプリケーションがあります。
各jspファイルは5〜50個のキーを使用します。
キーの総数は1500です。
各キーは25の言語に翻訳されています。

私は4つの解決策を想像します:

1)いくつかの大きなプロパティファイル(例:'Bundle_da.properties'などのファイル)を使用する
と、それぞれに1500個のキーを持つ25個のプロパティファイルがあります。
150個の.jspファイルにはすべて、同じプロパティファイルが含まれています。
このように、すべての.jspファイルには1500個のキーがすべて含まれ、そのうち5〜50個のキーしか使用できません。

2)いくつかの、しかし大きなプロパティクラスファイル(たとえば、'public class Bundle_da extends ListResourceBundle ...')
を使用すると、それぞれに1500個のキーを持つ25個のクラスがあります。
150個の.jspファイルすべてに同じクラスが含まれています。
このように、すべての.jspファイルには1500個のキーがすべて含まれ、そのうち5〜50個のキーしか使用できません。

3)小さいプロパティファイルを多数使用する
各.jspファイルには、その特定のファイルに必要なキーのみが含まれます。
プロパティファイルの数は150x25 = 3750になります
。このように、すべての.jspファイルには、実際に使用されるキーのみが含まれます。(つまり、5〜50個のキー)。

4).jsp固有のプロパティクラスを使用します。
各.jsp固有のバンドルクラスには、その特定の.jspファイルに必要なキーのみが含まれます。
プロパティクラスの数は150x25 = 3750になります
。このように、すべての.jspファイルには、実際に使用されているキーのみが含まれます。(つまり、5〜50個のキー)。

2つの質問:パフォーマンス
の観点から、4つのソリューションのどれが好ましいソリューションですか?メモリ の観点から、4つのソリューションのうち、Webサーバーに割り当てるメモリが少ないのはどれですか?

よろしくお願いします
アラン

4

1 に答える 1

0

大きなデスクトップアプリケーションがあります。エンドユーザーが使用するように設計されたテキストメッセージは、コード内のマークアップでラップされます。perlスクリプトは、すべての* .Cファイルをスキャンし、マークされた文字列を抽出して.poファイルを生成します。また、rscファイルから文字列を抽出します。最終的に2つの.poファイルが作成されます。1つは.C文字列用で、もう1つは.rsc文字列用です。全部で約16,000の文字列があり、.poファイルは言語ごとに.moファイルに変換され、各.moファイルは約600Kであるため、言語ごとに1.2Mbです。

状況は異なるかもしれませんが、ファイルサイズについて心配する必要はありません。私の懸念は、ローカリゼーションサブシステムの複雑さを軽減することです。たとえば、私たちの場合、エンドユーザーのテキストメッセージが含まれている可能性のある数百のファイルではなく、翻訳者に2つの.poファイルの空白を埋めてもらいたいと思います。

.poファイルはそれぞれ約400Kであることに注意してください。

于 2012-10-22T09:18:40.173 に答える