본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : 타임리프 Message 국제화

by 오주현 2022. 2. 9.
반응형

타임리프 메시지 국제화


이번에는 국제화를 적용해 보았다.

 

label.item=Item
label.item.id=Item ID
label.item.itemName=Item Name
label.item.price=price
label.item.quantity=quantity

page.items=Item List
page.item=Item Detail
page.addItem=Item Add
page.updateItem=Item Update

button.save=Save
button.cancel=Cancel

messages_en.properties 폴더에 위와 같이 영어로 된 이름을 설정해 주었다.

 

<h2 th:text="#{page.addItem}">상품 등록</h2>

그리고 위 코드 처럼 전에 설정한 메시지 표현식을 사용해 자동으로 대체가 된다.

이러면 국제화는 간단하게 끝이다.

 

웹 브라우저의 언어 설정 값을 변경하면 Accept-Language의 값이 변경된다.

 

Accept-Language는 클아이언트가 서버에 기대하는 언어 정보를 담아 요청하는 HTTP 요청 헤더이다.

 

메시지 기능은 Locale 정보를 알아야 언어를 선택할 수 있는데 스프링은 언어 선택 시 기본으로 Accept-Language 헤더의 값을 사용한다.

 

Locale 선택 방식도 변경할 수 있는데 LocaleResolver 인터페이스의 구현체를 변경해서 쿠키나 세션 기반의 Locale 선택을 할 수 있도록 한다. 이렇게 되면 고객이 직접 Locale를 선택할 수 있다. 관련 예제는 검색하면 많이 나오니 검색해서 적용하면 된다고 한다.


스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.

반응형

댓글