4

Web アプリをリモート ユーザーのブラウザーの言語設定に適合させるのに問題があります。これには ResourceBundleMessageSource を使用しました。次のようになります。

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

そして、2 つの .properties ファイルがあります。

  • メッセージのプロパティ

  • messages_ru.properties

それらは src/resources/messages にあります。

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

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

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

何か案は?

4

1 に答える 1

6

設定する必要があります

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

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

于 2010-11-25T23:36:40.400 に答える