0

15 年前に構築されたレガシー アプリケーション システムがあり、現在も使用しています。私たちのシステムは英語のみをサポートしています。ただし、現在、既存のシステムの一部を使用する必要がありますが、他の言語も表示する機能が必要な新しいプロジェクトに取り組んでいます。

このプロジェクト web プロジェクトでは、Spring MVC、Java 7、および MySql を使用しています。使用したことはありませんが、リソースバンドルについて聞いたことがあります。プロパティ ファイル (言語ごとに 1 つのファイル) に表示されるものをそれぞれ定義し、言語に基づいて実行時にこのプロパティ ファイルを使用する必要があります。ユーザー インターフェイスに表示する必要がある多数の Enum があります。

英語以外の言語をサポートするために何を使用することをお勧めしますか? リソースバンドルまたはその他のメソッドにすることができます。

私はあなたの助けに感謝します。

更新現在のところ、英語を含む 2 言語のみをサポートする予定です。

4

1 に答える 1

1

既存のシステム、リソース バンドルを満たす。リソース バンドル、既存のシステムを満たす...

冗談はさておき、ソリューションはアプリケーションに依存します。Web ベースの JSP アプリ、Swing クライアント、またはその他の何かですか?

シンプルな非 Web アプリの場合、 Spring のResourceBundleMessageSourceを使用した簡単な例を次に示します。かなり古い例ですが、基本的な考え方は、いくつかのMessageSourceをセットアップし、次に MessageSource を使用してメッセージを取得することです。

これが JSP を使用する Web アプリである場合は、すべての JSP を変更して、Spring JSTL タグ spring:message (または非 spring fmt:message を使用しますが、これによりオプションが制限されると思います) を使用する必要がある場合はいつでも、国際化された文字列。繰り返しになりますが、MessageSource のセットアップが必要です。Spring は自動的に MessageSource を見つけて使用します。それは同じパターンに従います: MessageSource を定義し、MessageSource にメッセージを要求します... JSTL タグを使用して面倒な作業を行うだけです。

利用可能な MessageSource オプションがいくつかあります。最も簡単な方法は、上記の例のように .properties ファイルを使用することです。これは維持するのが難しいと思うので、私たちのアプリケーションでは MessageSource を、 AbstractMessageSourceを拡張する JdbcMessageSource と呼ぶ独自の実装に置き換えました。基本的に、テーブルを使用してメッセージを読み取り、それらのメッセージのキャッシュを提供します。

于 2013-04-23T12:12:19.107 に答える