Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

[Thymealef] 메시지, 국제화 본문

인프런/[인프런] 스프링 MVC 2

[Thymealef] 메시지, 국제화

Seung__ 2021. 9. 24. 11:41

1. 메시지 기능.


  • 화면에 보이는 문구가 마음에 들지 않는다고,
  • 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까?
  • 여러 화면에 보이는 상품명, 가격, 수량 등, label 에 있는 단어를 변경하려면 
  • 관련있는 모든  화면들을 다 찾아가면서 변경해야 한다. 
  • addForm.html , editForm.html , item.html , items.html 귀찮다..
  • 이렇게 다 바꿔야 하는 이유가 뭘까?
  • 바로 HTML 파일에 메시지가 하드코등 되어있기 때문.
  • 메시지를 한 곳에서 관리하는 기능이 메시지 기능임.
  • 예를들어 message.properties 와 같은 관링용 파일 생성.
    •  
    • item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량
  •  각 HTML에서는 해당 data를 key값으로 불러서 사용
    • <label for="itemName" th:text="#{item.itemName}"></label>
    • <label for="itemName" th:text="#{item.itemName}"></label>

 

 

2. 국제화


  • 한국에서 들어가면 한국어, 미국에서 들어가면 영어로 보이도록 하고싶다.
  • 메시지에서 설명한 메시지 파일( messages.properteis )을 각 나라별로 별도로 관리하면 
  • 서비스를 국제화 할 수 있다.
  • 예를 들어서 다음과 같이 2개의 파일을 만들어서 분류한다.
    • messages_en.properties 
    • item=Item
      item.id=Item ID
      item.itemName=Item Name
      item.price=price
      item.quantity=quantity
    • messages_ko.propertis
    • item=상품
      item.id=상품 ID
      item.itemName=상품명
      item.price=가격
      item.quantity=수량
    • 그러면 어느 나라에서 접속한지 어떻게 판단할까?
      • HTTP accept-language 해더 값 사용
      • 사용자가 직접 언어를 선택,  쿠키 등을 사용해서 처리

 

그런데, 스프링과 타임리프는 메시지와 국제화 기능을 편리하게 사용할 수 있도록 제공한다. ㄱㅇㄷ

직접 구현할 필요는 없다.

 

 

3. GitHub : Message


 

GitHub - bsh6463/Thymeleaf_Message

Contribute to bsh6463/Thymeleaf_Message development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] 스프링 MVC 2' 카테고리의 다른 글

Spring 메시지 소스 활용  (0) 2021.09.24
Spring 메시지 소스 설정  (0) 2021.09.24
select box  (0) 2021.09.23
라디오버튼, radio button  (0) 2021.09.23
체크박스 - 멀티  (0) 2021.09.23
Comments