[공부정리] 국제화 : fallback-to-system-locale

jeyong·2024년 1월 24일
0

공부 / 생각 정리  

목록 보기
2/121


스프링에 대해서 여러가지 공부를 하던중, 정리 해놓으면 좋을 것 같은 주제를 정리하려고 한다.
이번에 다를 주제는 국제화이다.

사실 국제화에 대해서는 다른 블로그에 잘 정리 되어있기 때문에 굳이 기록해놓을 필요가 없다. 하지만 이번 게시글을 작성하게 된 이유는 fallback-to-system-locale 때문이다. 해당 내용에 대해서 기록해놓고 까먹지 않으려고 한다.

1. 국제화를 위해 필요한 설정

1-1. File Encodings 설정

1-2. application.yml

spring:
  messages:
    basename: i18n/exception
    fallback-to-system-locale: false  

해당 내용과 같이 입력해준다면, 아래와 같이 파일을 구성해주면 된다.

1-3. resource bundle editor

인텔리제이에서 제공해주는 플러그인이다.

  • 단축키 F4를 통해서 접근
  • Resource Bundle 탭을 클릭

2. fallback-to-system-locale: false

해당 옵션에 대해서 설명하자면, 아래와 같다.

  • 특정 Locale에 대한 파일을 찾지 못한 경우, System Locale을 사용할지 설정
  • false로 설정하면 파일을 찾지 못하는 경우, messages.properties를 사용
    즉 , false로 설정해야 messages.properties를 사용한다는 것이다. 내가 프로젝트를 구현하며 의도하였던 것이, 만약 내가 국제화 기능을 사용해주지 못한 국가라면 세계 공용어인 영어를 반환해주어야하는데, 계속 System Locale을 사용하여 한글을 반환해주어서 문제가 발생했다. 그래서 fallback-to-system-locale: false 를 설정하여 해당 문제를 해결하였다. 아래는 해당 프로젝트 코드 링크이다.

    O2O_Automatic_Store_System_Demo

해당 문제를 해결하며, 국제화에 작동 원리에 대해서 깊게 공부해보았는데, 좋은 블로그 글을 하나 추천해주고 마무리 하겠다.

Locale에 해당하는 메세지 파일이 없으면 어떻게 될까?

profile
노를 젓다 보면 언젠가는 물이 들어오겠지.

0개의 댓글