-2

ZK で書かれた Web アプリケーションを国際化するためにどのような戦略を使用していますか?

私は現在、彼らの「面白い」構文 ${c:l('LABEL_NAME')} を使用していますが、2 つの問題があるメカニズムを使用しています。

1) Java のリソース バンドルの標準である \uchcode 構文を受け入れません。そのようなファイルを NetBeans から編集する方法はありません。

2) 彼らは webapp 全体に 1 つのファイルしか使用していません。これは非常に大きくなる可能性があり、パフォーマンス要因の可能性が心配です。

したがって、2 つの質問があります。

1) 単一の大きなプロパティ ファイルを使用すると、パフォーマンスの問題が発生しますか?

2)ZKアプリを国際化するための他の良い方法はありますか(zscriptは良い方法とは思いません)?

4

3 に答える 3

2

1) それは私にとって問題ではありません。言語ファイルは他のファイルよりもはるかに小さい (そのため、それらを読む際の負荷は非常に軽い)

2)imo、オンラインプロジェクトではzscriptを使用しません。公式のパフォーマンスのヒントを見ることができます-より良いパフォーマンスのためにzscriptを使用しないでください

ZK アプリの国際化の詳細については、ZK Developer's Reference - Labels を参照してください。

ところで、以前は LabelManager を作成し、異なる言語/ロケールでソースを管理していました。

于 2011-02-15T17:08:01.537 に答える
1

i18n メッセージのロードにパフォーマンスの問題はないと思います。高速ハッシュを使用してメッセージをターゲットにしますが、メモリの問題 (異なるローカルのメモリにメッセージ テキストをロードする場合) です。ただし、それは単なるテキストメッセージであり、サーバーは強力で巨大なメモリを備えているため、メモリの問題は気にしません。

私にとっては、常に ascii をキーとして使用するため、キーエンコーディングの問題はありません。

不便なことの 1 つは、メッセージを 1 つの i3 ファイルに設定するだけでよいことです。(メッセージをモジュール化するために) 複数のファイルを設定する場合は、LabelLocator をラベルに登録するコードを作成する必要があります。

于 2011-02-15T16:00:31.710 に答える
0

私が知っているように、c:l() は単に I18N ラベルを取得するためのデフォルトの方法です。必要に応じて、標準のリソース バンドルを使用できます。静的メソッドを実装し、それを使用して ZUL ページにマップするだけです。

于 2011-02-18T05:57:10.627 に答える