3.3.2 라이선싱 서비스에 국제화 추가하기
국제화는 애플리케이션을 다른 언어에 적응할 수 있도록 하는 필수 요구 사항이다. 여기에서 주요 목표는 콘텐츠를 제공하는 애플리케이션을 개발하는 것이다. 이 절에서는 앞서 생성한 라이선싱 서비스에 국제화를 추가하는 방법을 설명한다.
먼저 라이선스 서비스에 대한 LocaleResolver와 ResourceBundleMessageSource를 생성하기 위해 부트스트랩 클래스(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를 기본 로케일로 설정한다.
➋ 메시지가 발견되지 않아도 에러를 던지지 않고 대신 메시지 코드를 반환한다.
➌ 언어 프로퍼티 파일의 기본 이름을 설정한다.