2011-12-15 4 views
2

CZロケールが渡されたときにSpring MVCベースのWebアプリケーションをデフォルトのSKロケールにしたいが、他のロケールはデフォルトでENにする必要があります。Spring Web MVCのロケールには複数のデフォルトがありますか?

私が設計しているサイトは、チェコ語またはスロバキア語のロケール設定のコンピュータから訪問するとスロバキア語で自動的に表示されます。それ以外の場合は、サイトのデフォルトは英語のみにする必要があります。どうすればこれを達成できますか?私はorg.springframework.web.servlet.i18n.LocaleChangeInterceptorをサブクラス化し、カスタムコードを書くべきですか、これを達成するための設定のみの方法がありますか?ドイツ語やオーストリアからの訪問の場合はデフォルトでDEのように、ドイツ語やオーストリアの場合はデフォルトと同じように、ドイツ語圏でも同じ要望があります。

答えて

3

LocaleChangeInterceptorをサブクラス化する必要はありません。 LocaleChangeInterceptorは、リクエストパラメータ 'Locale'を介してロケールの変更を検出します。

インターセプタとロケール固有のプロパティファイルを設定する必要があります。この後、

<spring:message code="propertyVal"/> 

を表示することができます。サンプル構成については、hereを確認してください。

ます。また、「指定されたデフォルトのロケールまたは要求の受け入れ - ヘッダロケールにフォールバックしてカスタム設定の場合には、ユーザに送り返されるCookieを使用しLocaleResolverの実装、。」であるCookieLocaleResolverを使用することができ

+0

私はそれをすべて使っています。私は言語を切り替えることができます。誰かがCZロケールでヘッダーにアクセスしたときにSKロケールにデフォルトしたいと思います。それ以外の場合は、CookieLocaleResolverでコンフィグレーションされたデフォルトのENロケールを使用したいと思います。 –

+0

AcceptHeaderLocaleResolverヘルプですか? –

+0

どういうわけか、これはデフォルトで使用されていて、クッキーを渡すだけで明示的にロケールをオーバーライドすることができたと思っていました...大丈夫です... CZがacceptヘッダーで見つかったときにSKをデフォルトにする方法 –

関連する問題