package io.dataease.i18n; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.ReloadableResourceBundleMessageSource; import org.springframework.web.servlet.LocaleResolver; import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver; import java.util.Arrays; import java.util.Locale; @Configuration public class DeI18nMessageConfig { @Value("${spring.messages.basename}") private String messageBaseName; @Bean public LocaleResolver localeResolver() { AcceptHeaderLocaleResolver localeResolver = new AcceptHeaderLocaleResolver(); localeResolver.setDefaultLocale(Locale.CHINA); return localeResolver; } @Bean public ReloadableResourceBundleMessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new DeReloadableResourceBundleMessageSource(); messageSource.setResourceLoader(new AnnotationConfigServletWebServerApplicationContext()); Arrays.stream(messageBaseName.split(",")).map(item -> "classpath:" + item).forEach(messageSource::addBasenames); return messageSource; } }