gpt4 book ai didi

java - Spring MessageSource 通过多个语言环境查找

转载 作者:行者123 更新时间:2023-12-02 11:37:47 24 4
gpt4 key购买 nike

我有以下情况:我从移动设备获取区域设置列表,我需要检查我的 MessageSource 是否与传递的列表匹配。因此,默认情况下,我可以按一种区域设置进行检查,如果 spring 找不到匹配项,它将使用默认区域设置,但就我而言,我需要检查区域设置列表。 Spring 是否支持此功能?

最佳答案

我能够通过以下方式修复它:

    @Bean
public CustomMessageSource messageSource() {
CustomReloadableResourceBundleMessageSource messageSource = new CustomReloadableResourceBundleMessageSource();
messageSource.setFallbackToSystemLocale(false);
messageSource.setBasename("messages");
return messageSource;
}


public class CustomReloadableResourceBundleMessageSource extends
ResourceBundleMessageSource implements CustomMessageSource {
public String getMessage(String code, List<Locale> locales) {
return locales.stream().map(locale -> getMessage(code, null, locale))
.filter(StringUtils::isNotEmpty).findFirst()
.orElse(getMessage(code, null, Locale.ENGLISH));
}
}

fallbackToSystemLocale 属性设置为 false 非常重要,因为否则系统会对每个未解析的消息使用默认区域设置。

关于java - Spring MessageSource 通过多个语言环境查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48803378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com