본문 바로가기
💻 뚝딱뚝딱/북북클럽

[개발일지#022] 스프링 메시지화, 국제화 적용하기

by 뚜루리 2024. 3. 7.
728x90
320x100
[참고]
김영한님 스프링 강의를 바탕으로 진행되는 토이프로젝트의 과정을 기록하는 글입니다. 
둥근 피드백은 언제나 환영입니다.
[오늘의 개발내용]
1. 타임리프에서 제공하는 메시지화 적용하기
2. 타임리프에서 제공하는 국제화 적용하기

 

 

1. 타임리프에서 제공하는 메시지화 적용하기

/resources/messages.properties

label.member.id=회원 ID
label.member.NickName=별명
label.member.password=비밀번호

label.timeline.timelineId=타임라인 ID
label.timeline.bookId=책 ID
label.timeline.bookImg=책 이미지
label.timeline.content=내용
label.timeline.lastUpdateDate=최종수정일

page.joinMember=회원가입
page.editMember=회원정보 수정

page.addTimeline=타임라인 등록
page.editTimeline=타임라인 수정

button.timeline.save=타임라인 등록
button.member.save=회원가입
button.member.edit=회원정보 수정
button.cancel=취소
  • /resources/messages.properties 파일을 만들어서 안에 사용할 메세지화 내용들을 적어줌.
  • 스프링부트에서 기본적으로 해당 파일명으로 만들면 메시지로 인식해줌. 

 

timeline/editForm.html

  • th:text="#{}" 형식으로 메시지를 반영해준다. 

 

인텔리제이에서는 이렇게 자동완성으로 만들어줘서 더욱 더 편하게 작업가능!

 

 

이렇게 매칭 된다고 생각하면 됨!

 

(+) properties말고 yml로 만들면 안되나요?

나도 글케 해보려고 했는데 적용이 안되서 좀 찾아보니

이런 영한님의 답변을 발견했다. 안된단다. 

 

2. 타임리프에서 제공하는 국제화 적용하기

/resources/messages_en.properties

label.member.id=Member ID
label.member.NickName=NickName
label.member.password=Password

label.timeline.timelineId=Timeline ID
label.timeline.bookId=Book ID
label.timeline.bookImg=Book Image
label.timeline.content=Content
label.timeline.lastUpdateDate=last Update Date

page.joinMember=Join
page.editMember=Member Edit

page.addTimeline=Timeline Add
page.editTimeline=Timeline Edit

button.timeline.save=Timeline Add
button.member.save=Join
button.member.edit=Member Edit
button.cancel=Cancel
  • 내 짧은 영어 실력으로 번역하여 맹글어 준다. 

 

(+) 국제화는 어떻게 반영되는지 아나요?

크롬 - 설정 - 언어를 검색한 후 영어를 위로 이동해서 1순위로 변경한 후 다시 보면 됨. 

 

[구현화면]

728x90
320x100