3.3.2 라이선싱 서비스에 국제화 추가하기

    국제화는 애플리케이션을 다른 언어에 적응할 수 있도록 하는 필수 요구 사항이다. 여기에서 주요 목표는 콘텐츠를 제공하는 애플리케이션을 개발하는 것이다. 이 절에서는 앞서 생성한 라이선싱 서비스에 국제화를 추가하는 방법을 설명한다.

    먼저 라이선스 서비스에 대한 LocaleResolverResourceBundleMessageSource를 생성하기 위해 부트스트랩 클래스(LicenseServiceApplication.java 파일에 있는)를 변경할 것이다. 코드 3-6에서 어떤 것인지 확인할 수 있다.

    코드 3-6 부트스트랩 클래스에 대한 빈 생성하기

    package com.optimagrowth.license;
    
    import java.util.Locale;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.support.ResourceBundleMessageSource;
    import org.springframework.web.servlet.LocaleResolver;
    import org.springframework.web.servlet.i18n.SessionLocaleResolver;
    
    @SpringBootApplication
    public class LicenseServiceApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(LicenseServiceApplication.class, args);
        }
    
        @Bean
        public LocaleResolver localeResolver() {
            SessionLocaleResolver localeResolver = new SessionLocaleResolver();
            localeResolver.setDefaultLocale(Locale.US); 
            return localeResolver;
        }
        @Bean
        public ResourceBundleMessageSource messageSource() {
            ResourceBundleMessageSource messageSource = 
                      new ResourceBundleMessageSource();
            messageSource.setUseCodeAsDefaultMessage(true); 
            messageSource.setBasenames("messages"); 
            return messageSource;
        }
    }

    ➊ US를 기본 로케일로 설정한다.

    ➋ 메시지가 발견되지 않아도 에러를 던지지 않고 대신 메시지 코드를 반환한다.

    ➌ 언어 프로퍼티 파일의 기본 이름을 설정한다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.