我将适用于远程用户浏览器语言设置的Web应用程序适应我的Web应用程序有一些问题。我为此使用了ResourceBundleMessagesSource。看起来像这样:

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

我有两个.properties文件:

  • 消息

  • messages_ru.properties

它们位于SRC/资源/消息中。

我想这样的方式配置我的应用程序,当远程用户浏览器语言设置包含俄语时,我的应用程序应使用俄罗斯消息(messages_ru),否则(如果不配置语言或不是俄语),则应使用meessages.properties(IT)包含英文消息)。

当我在浏览器中设置俄语时,它可以正常工作。当我删除所有设置时,它也显示出俄罗斯(我认为这取决于系统语言环境设置)。当我设置另一种语言时,它也会向我展示俄罗斯的信息。

使我的应用显示英语消息的唯一方法是重命名消息。但是,我想使我的应用程序用于所有语言设置(如果需要的话,则使用俄语,以及其他任何其他国家和任何其他国家的英语)。

有任何想法吗?

有帮助吗?

解决方案

您需要设置

<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