質問

リモートユーザーブラウザーの言語設定にWebアプリを適応させることにいくつかの問題があります。 ResourceBundleMessageSourceを使用しました。このように見えます:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="resources/messages" /> </bean>

そして、私は2つの.propertiesファイルを持っています:

  • message.properties

  • messages_ru.properties

それらはSRC/リソース/メッセージにあります。

リモートユーザーのブラウザ言語設定にロシア語が含まれている場合、アプリはロシア語メッセージ(messages_ru)を使用する必要がある場合(言語が構成されていない場合、またはロシア語ではない場合)、meessages.properties(it(it)を使用する必要があるため、アプリを設定したいと思います。英語のメッセージが含まれています)。

ブラウザでロシア語をセットアップすると、正常に動作します。すべての設定を消去すると、ロシア語も表示されます(システムのロケール設定に依存すると思います)。そして、私が別の言語を設定したとき、それはまた私にロシアのメッセージを見せてくれます。

英語のメッセージを表示するアプリを作成する唯一の方法は、messages.propertiesをmessages_en.propertiesに変更し、ブラウザー英語のラングに設定することです。しかし、私はすべての言語設定にアプリを採用したいと思っています(ロシア語を使用している場合、必要に応じて、他の設定やその他の国に英語を使用します)。

何か案は?

役に立ちましたか?

解決

設定する必要があります

<bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
    <property name="basename" value="resources/messages" />
    <property name="fallbackToSystemLocale" value="false" />
</bean> 

この場合、スプリングは使用します messages.properties フォールバックとして、アプリケーションの「デフォルト」ロケールにメッセージを含める必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top