diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/config/I18nLocaleAutoConfiguration.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/config/I18nLocaleAutoConfiguration.java new file mode 100644 index 000000000..7b92bf16a --- /dev/null +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/config/I18nLocaleAutoConfiguration.java @@ -0,0 +1,29 @@ +package com.bsd.pjcloud.common.core.config; + +import com.bsd.pjcloud.common.core.i18n.I18nLocaleFilter; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.core.Ordered; + +import static org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type.SERVLET; + +/** + * 注册 i18n Locale 过滤器(读取 Accept-Language / LANG) + */ +@AutoConfiguration +@ConditionalOnWebApplication(type = SERVLET) +public class I18nLocaleAutoConfiguration { + + @Bean + public FilterRegistrationBean i18nLocaleFilterRegistration() { + FilterRegistrationBean registration = new FilterRegistrationBean<>(); + registration.setFilter(new I18nLocaleFilter()); + registration.addUrlPatterns("/*"); + registration.setOrder(Ordered.HIGHEST_PRECEDENCE + 20); + registration.setName("i18nLocaleFilter"); + return registration; + } + +}