메세지, 국제화 소개

학습 페이지

이런 상황을 생각해보자. 기획자가 ‘상품명’이라는 글자를 모두 ‘상품 이름’으로 고쳐달라고 해보자….

페이지가 수십개라면 일일이 다 replace로 고쳐야 한다… 왜? ‘상품명’이 HTML에 하드코딩되어있기 때문임.

이런 다양한 메시지를 한 곳에서 관리하도록 하는 기능이 있다. 바로 메시지 기능이다!

예를 들어 messages.properties라는 메시지 관리용 파일을 만든다.

이 파일은 key:value 형태로 되어있고, 여기서 HTML들이 해당 이름들을 갖다가 쓰는 형태이다.

image.png

HTML내에 최대한 하드코딩된 텍스트를 줄이기 위해 지원하는게 스프링의 메시지 관리 기능이다.

그럼 국제화는 무엇인가?

메시지에서 한발짝 더 나가보자. 메시지 파일인 messages.properties 를 나라별로 별도로 관리하면 서비스를 국제화하기 편리하다. 이게 바로 국제화 기능이다.

image.png

참고로 한국에서 접근한건지, 영어권에서 접근한건지는 http 헤더 중 accept-language 를 확인하면 된다. 그리고 한번 정보가 들어오면 이를 쿠키에 담고 다음부터 관리하면 된다.

메시지와 국제화 기능을 직접 다 구현할 수도 있지만… 스프링은 기본적인 메시지 / 국제화 기능을 제공한다. 이제 이것을 어떻게 사용할지 알아볼 것임!