content: package com.nonononoki.alovoa.config;
  
  import java.nio.charset.StandardCharsets;
  
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.ComponentScan;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.context.support.ReloadableResourceBundleMessageSource;
  import org.springframework.web.servlet.config.annotation.CorsRegistry;
  import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  import org.springframework.web.servlet.i18n.CookieLocaleResolver;
  import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
  
  @Configuration
  @EnableWebMvc
  @ComponentScan
  public class WebMvcConfig implements WebMvcConfigurer {
  
  	@Override
  	public void addCorsMappings(CorsRegistry registry) {
  		registry.addMapping("/**").allowedOrigins("*");
  	}
  
  	@Override
  	public void addResourceHandlers(ResourceHandlerRegistry registry) {
  		registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
  	}
  
  	@Override
  	public void addInterceptors(InterceptorRegistry registry) {
  		LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
  		localeInterceptor.setParamName("lang");
  		registry.addInterceptor(localeInterceptor).addPathPatterns("/*");
  	}
  
  	@Bean
  	CookieLocaleResolver localeResolver() {
  		return new CookieLocaleResolver();
  	}
  
  	@Bean
  	ReloadableResourceBundleMessageSource messageSource() {
  		ReloadableResourceBundleMessageSource messageResource = new ReloadableResourceBundleMessageSource();
  		messageResource.setBasename("classpath:i18n/messages");
  		messageResource.setDefaultEncoding(StandardCharsets.UTF_8.name());
  		return messageResource;
  	}
  
  }