스프링부트 다국어 설정 i18n
2023. 3. 9. 17:22ㆍ스프링
우선 다국어 설정을 위해 빈을 등록해야 된다. defalut locale은 kr로 설정하였고. 기본적인 셋팅을 해줬다.
@Configuration
public class I18nConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver resolver = new CookieLocaleResolver();
resolver.setDefaultLocale(Locale.KOREA);
resolver.setCookieName("lang");
return resolver;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
interceptor.setParamName("lang");
return interceptor;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
@Bean
public MessageSourceAccessor messageSourceAccessor() {
return new MessageSourceAccessor(messageSource());
}
}
basename으로 지정한 경로에 properties 파일을 만들어준다.
valid.email = 올바른 이메일을 입력해주세요.
valid.notEmpty = 숫자를 입력해주세요.
valid.login = 아이디와 비밀번호를 확인해주세요.
아래와 같이 사용하면 된다.
properties를 세분화하고 싶다면
우선 순위는 순서대로 된다.
NotBlank.item.itemName= 상품 아이템을 입력해주세요
NotBlank.itemName= 아이템을 입력해주세요
NotBlank.java.lang.string
Notblank=공백이 들어갈 수 없습니다.
만약 최상위부터 있으면 먼저 메시지를 가져오는 방식이다.
중요하지 않은 것들은 아래로 해결을 하고 디테일이 필요할 경우 최상단 코드처럼 디테일하게 작성해주면 된다.
'스프링' 카테고리의 다른 글
yml 파일 암호화 (1) | 2023.08.29 |
---|---|
springdoc swagger 사용하기 (0) | 2023.03.09 |
spring-validation 사용법 rest방식 (0) | 2023.03.09 |
스프링부트 oauth 소셜로그인(카카오, 네이버, 구글) 구현 (0) | 2023.02.28 |
SXSSF 대용량 엑셀 다운로드 공통화 (0) | 2023.02.24 |