3

Webで少し検索しましたが、ExtJSとSpringMVCを実行しているアプリケーションを国際化するための具体的なソリューションは実際には見つかりませんでした。現在(テスト用)、JSPでグローバルJavaScript変数を定義し、JSTLタグを使用して文字列リテラルを割り当てています。

誰かがこれについて明確/クリーン/柔軟な解決策を考え出すことに成功しましたか?

どんな考えでも本当にありがたいです。TIA。

4

3 に答える 3

1

アプリケーションで翻訳する必要がある文字列は 3 種類あります

  1. あなたのページの静的文字列 - >アダムがテンプレートを使用することは良い考えだと言ったように。MVC は問題を解決できます。したがって、すべての文字列を db またはプロパティ ファイルに保持します。

  2. Ext JS に送信されるエラー メッセージ文字列 -> ここでは 2 つの解決策があります。Ext JS に処理を許可するか、つまり、翻訳が読み込まれた js ファイルを持っているか、返信を送信する前に MVC にあなたの応答の翻訳

  3. 車の部品など、変換する必要がある db テーブルの値。この場合、キーを car_parts テーブルに保持し、翻訳をプロパティ ファイルまたは db の変換テーブルに保持します。

現在のアプリでは、MVC レベルで翻訳を実行し、翻訳をデータベースに保持しています。利点は 1. 変換ロジックが MVC の 1 つの場所であり、分割されていないことです。2. 翻訳は 1 か所にあり、翻訳でエラーが発生した場合はいつでも、新しいリリースを作成する必要はありません。データベースを更新するか、アプリケーション管理者にフォームを提供して自分で翻訳するだけです。変換テーブルのバックアップが必要です!!!

于 2010-10-21T12:09:52.617 に答える
0

これは、Pylons、Ext JS、およびMakoと呼ばれるテンプレートエンジンを使用している私のアプリケーションで行われる方法です。

JavaScriptファイルをテンプレートとして扱っています。私は各クラスを別々のファイルに保持し、依存関係を処理するために私が定義した関数require()を使用します。私のサーバーはこれらのテンプレートを処理し、依存関係を処理し、それらを結合して圧縮します。これらのテンプレートには、gettextのような関数「_」の呼び出しが含まれています。例:

window.setTitle("${_('My title')}");

これらのテンプレートは通常のMakoテンプレートであり、gettextのようなユーティリティで前処理して.poファイルを作成できます。私が使用している.poジェネレーター(Babel)は、見つかった文字列の位置をコメントとして.poファイル内に配置しますこれは、文字列がどこに表示されたかがわかっているため、便利です。

于 2009-03-25T11:48:20.590 に答える
0

Spring MVC Ajax の例frpm Springを見てください。JSP ビューを使用する場合は、fmt タグ ライブラリとリソース バンドルを使用できます。Velocity ビューを使用する場合は、Springドキュメントで説明されているように #springMessage('my.key') を使用します。

于 2010-05-26T11:53:09.547 に答える