package com.dsh.config;
|
|
import org.springframework.boot.autoconfigure.context.MessageSourceProperties;
|
import org.springframework.context.MessageSource;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.support.ResourceBundleMessageSource;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.servlet.LocaleResolver;
|
|
import java.time.Duration;
|
|
|
/**
|
* 国际化配置
|
*/
|
@Configuration
|
public class MessageLocalConfig {
|
|
@Bean
|
public MessageSource messageSource(MessageSourceProperties properties) {
|
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
|
if (StringUtils.hasText(properties.getBasename())) {
|
messageSource.setBasenames(StringUtils
|
.commaDelimitedListToStringArray(StringUtils.trimAllWhitespace(properties.getBasename())));
|
}
|
if (properties.getEncoding() != null) {
|
messageSource.setDefaultEncoding(properties.getEncoding().name());
|
}
|
messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale());
|
Duration cacheDuration = properties.getCacheDuration();
|
if (cacheDuration != null) {
|
messageSource.setCacheMillis(cacheDuration.toMillis());
|
}
|
messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat());
|
messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage());
|
return messageSource;
|
}
|
|
|
@Bean//注册国际化组件
|
public LocaleResolver localeResolver() {
|
return new MyLocaleResolver();
|
}
|
|
}
|