0
我muitle messeage资源春季启动这样有问题:如何在春季启动时使用语言环境更改消息源?
这是我application.yml:
...
spring:
messages:
basename: i18n/messages_fr,i18n/messages_en
这是我的测试类:
public class MessageSourceTest {
@Autowired
MessageSource messageSource;
public String getMessage(String key, String keyLang) {
Locale locale = Locale.forLanguageTag(keyLang); // keyLang = "en", or "fr"
String message = messageSource.getMessage(key, null, locale);
return message;
}
}
问题是无论我设置的语言环境是“en”还是“fr”,我总是会收到来自i18n/messages_fr的消息。
如果我application.yml设置为:
basename: i18n/messages_en,i18n/messages_fr
后来我得到消息,从国际化/ messages_en
那么,有没有什么办法,我可以用动态语言环境中获取消息。
(只是在后端,不设置由LocaleResolver和addInterceptors,像这样throught客户端:http://www.baeldung.com/spring-boot-internationalization)
您的基本名称必须是'i18n/message',正确的文件是基于'Locale'加载的。 –
这不起作用。我得到了异常org.springframework.context.NoSuchMessageException:代码'test.title'中没有找到locale'en'的消息。 – user2582163
如果你复制粘贴我键入的是,因为它缺少's' ...'i18n/messages'。 –