더북(TheBook)

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를 기본 로케일로 설정한다.

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

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

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