如何从消息包中获取值?
How to get values from message bundle?
在我的应用程序配置 class 中,我有以下条目:
@Bean(name = "messageSource")
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("/i18n/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleResolver localeResolver(){
SessionLocaleResolver resolver = new SessionLocaleResolver();
resolver.setDefaultLocale(new Locale("pt_BR"));
return resolver;
}
message_pt_BR.properties
根据附图定位。
我正在尝试使用 <span th:text="#{app.name}"></span>
文件访问此条目,但我得到的是:
??app.name_pt_br??
我在这里错过了什么?
您需要将 messages
包替换到 /resources
文件夹。
您还需要添加 messages.properties
包,这是必需的。
您的消息包名称应该是
messages_pt_BR.properties
区分大小写。
没有默认消息包也没关系(messages.properties)。我的工作正常只有 _en 和 _zh_TW.
如果您提供正确的路径来设置 basename,那么您将资源包放在任何地方都应该没问题。
在我的应用程序配置 class 中,我有以下条目:
@Bean(name = "messageSource")
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("/i18n/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleResolver localeResolver(){
SessionLocaleResolver resolver = new SessionLocaleResolver();
resolver.setDefaultLocale(new Locale("pt_BR"));
return resolver;
}
message_pt_BR.properties
根据附图定位。
我正在尝试使用 <span th:text="#{app.name}"></span>
文件访问此条目,但我得到的是:
??app.name_pt_br??
我在这里错过了什么?
您需要将 messages
包替换到 /resources
文件夹。
您还需要添加 messages.properties
包,这是必需的。
您的消息包名称应该是
messages_pt_BR.properties
区分大小写。
没有默认消息包也没关系(messages.properties)。我的工作正常只有 _en 和 _zh_TW.
如果您提供正确的路径来设置 basename,那么您将资源包放在任何地方都应该没问题。