2011-07-18 9 views
0

私のサーブレットで(Google App Engineで)ローカライズされたメッセージを表示したいが、英語の代わりにフランス語が間違った言語でメッセージを受け取る。サーブレットのResourceBundleに関する問題

2つのリソースファイルMessages.properties(英語=デフォルト)とMessages_fr.properties(フランス語)があります。ブラウザ言語は英語に設定されています。 request.getLocale()は "en"ですが、ResourceBundle.getBundle("Messages",request.getLocale()).getLocale()は "fr"です。

私は何が起こっているのか分かりません。どんな助けも歓迎です、ありがとう。

答えて

2

実際にMessages_en.propertiesファイルがある必要があります。です。空のままにして、Messages.propertiesにフォールバックすることができます。

+0

あなたはそうだ、それは動作する:)私はいくつかのJavaの経験を持っているので、これは奇妙であり、この動作に気づいたことはない。 Google App Engine固有のものですか? – Patrick

+0

私は分かりません。それを魔法と呼んでください。 – BalusC

+1

@Patrick、@Balus:いいえ、それは標準的な動作です。 [getBundle()](http://download.oracle.com/javase/6/docs/api/java/util/ResourceBundle.html#getBundle%28java.lang.String,%20java.util.Locale,% 20java.lang.ClassLoader%29)docs。 –

関連する問題