스프링부트 간단한 다국어처리

dragonappear·2022년 1월 31일
0

Spring & SpringBoot

목록 보기
7/11

1. @Configuration 등록

@Bean
public LocaleResolver localeResolver() {
    SessionLocaleResolver localeResolver = new SessionLocaleResolver();
    localeResolver.setDefaultLocale(Locale.KOREA);
    return localeResolver;
}
  • LocalResolver 빈 등록
  • Default Local: Locale.US or Local.KOREA

2. 리소스-> message 번들 생성

spring:
  messages:
    basename: messages

messages.properties

greeting.message=안녕하세요

messages_en.properties

greeting.message=Hello

messages_fr.properties

greeting.message=Bonjour

3. MessageSource DI

@Autowired
private MessageSource messageSource;

4. @RequestHeader(name="Accept-Language", required=false) Locale locale)

요청 헤더 Accept-Language:en or Accept-Language:fr or 한국어는 디폴트

@GetMapping(path = "/hello")
    public String hello(
            @RequestHeader(name="Accept-Language", required=false)  Locale locale) {
        return messageSource.getMessage("greeting.message", null, locale);
    }

0개의 댓글