[java] Java JHipster의 국제화 지원

JHipster는 자바 기반의 개발자들을 위한 최신 웹 애플리케이션 개발 플랫폼입니다. 이 플랫폼은 많은 개발 기능을 제공하여 개발자들이 효율적으로 애플리케이션을 구축할 수 있게 도와줍니다.

JHipster는 다국어를 지원하는 국제화 기능을 제공합니다. 이는 애플리케이션을 다양한 언어로 번역하고 지원하는데 도움을 줍니다. 다국어 지원은 시장을 넓히고 다양한 국가에서 사용자들에게 최상의 경험을 제공하는 데 도움이 됩니다.

국제화 설정

  1. 프로젝트 생성 시 JHipster는 기본적으로 국제화를 지원합니다. 다음과 같이 languages 폴더에 각 언어별 messages.properties 파일이 생성됩니다.
src/main/resources/i18n/
├── messages.properties
├── messages_ja.properties
└── messages_ko.properties
  1. messages.properties 파일에는 해당 언어로 번역된 메시지가 포함됩니다. 예를 들어, messages_ko.properties 파일에는 한국어로 번역된 메시지가 포함됩니다.
app.title=애플리케이션 제목
  1. 번역된 메시지는 애플리케이션에서 다국어 지원이 필요한 부분에 사용됩니다.
Div().with(
    h1().withText(getMessage("app.title"))
)

다국어 메시지 사용하기

JHipster는 스프링부트의 MessageSource를 사용하여 다국어 지원을 제공합니다. 이를 이용하여 번역된 메시지를 가져올 수 있습니다.

@Autowired
private MessageSource messageSource;

public String getMessage(String code) {
    Locale locale = LocaleContextHolder.getLocale();
    return messageSource.getMessage(code, null, locale);
}

위의 예제에서는 code를 기반으로 번역된 메시지를 가져옵니다. getMessage 메서드는 현재 설정된 언어에 따라 해당 언어의 번역된 메시지를 반환합니다.

다국어 언어 변경하기

JHipster는 쿠키를 사용하여 사용자의 언어 설정을 저장하고, 사용자가 선호하는 언어로 앱을 표시합니다. src/main/webapp 디렉토리의 i18n 폴더에 있는 languages 파일에 언어 설정을 추가할 수 있습니다.

{
  "ko": { // 한국어 언어 설정
    "name": "Korean",
    "nativeName": "한국어"
  },
  "ja": { // 일본어 언어 설정
    "name": "Japanese",
    "nativeName": "日本語"
  }
}

위의 예제에서는 한국어와 일본어 언어 설정을 추가하였습니다. 사용자는 애플리케이션에서 언어를 변경할 수 있고, 선택한 언어로 애플리케이션을 사용할 수 있습니다.

마무리

JHipster는 다국어 지원을 통해 개발자들이 애플리케이션을 보다 다양한 사용자들에게 제공할 수 있도록 도와줍니다. 이는 국제 시장에서 경쟁력을 갖춘 애플리케이션을 개발할 때 중요한 요소가 될 수 있습니다. JHipster를 사용하여 국제화 지원을 간편하게 구축하고 다국어 애플리케이션을 개발해보세요.

참고 문서: JHipster Internationalization Guide