강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jiwon27720054
jiwon27720054

câu hỏi đã được viết

Công nghệ cốt lõi của Spring Framework

IoC Container Phần 7: MessageSource

Locale.getDefault()에 대한 질문

Viết

·

4.3K

2

안녕하세요. 강의 항상 잘 보고 있습니다.

Locale.getDefault()

디폴트 locale을 사용하는 부분에서 기선님과 다른 부분이 있어서 질문드립니다.

저는 Locale.getDefault()와 Locale.KOREA 두 가지 모두 messages_ko_KR.properties에 있는 한글값이 출력됩니다.

default locale의 경우 default locale 값이 별도로 설정되어있는 것이 아니라 messages.properties라는 파일을 default로 판단하여 출력하는 것이라 예상하였는데 ko_KR의 결과가 찍혀서 의문입니다.

ko_KR의 파일이름을 messages.ko_KR.properties와 같이 인식할 수 없도록 수정 후에 출력하면 영문으로 결과가 잘 찍히는데요... 왜 messages_ko_KR.properties파일만 추가하면 default도 한글이 출력되는지 궁금합니다....

javaspring

Câu trả lời 3

1

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html#getDefault()

저도 잘은 모르겠지만, 문서를 읽어보면 짐작할 수 있는데요. 아마 JVM이 구동될 때 OS 환경 변수 등에서 정보를 읽어 설정하는 것 같습니다. 따라서 사용하시는 운영체제에 설정된 (기본) 언어가 한국어라 그렇게 된거라 추측해 봅니다.

0

저도 OS default가 ko_KR이라서 한글로만 찍히더라구요. 저는 그냥 greetingKR , greetingEN 으로 변수를 달리하여 불러오는 방식으로 다르게 찍었습니당...

0

저도 같은 문제네요 실제로 println()으로 
Locale.getDefault()를 출력해 보면 ko_KR이 출력됩니다.

좀 알아본 결과

Locale.getDefault() 는 운영체제의 기본값으로 읽어온다고 합니다.

대신 Spring의 기본 언어값을 XML로 설정해 주고

LocaleContextHolder.getLocale()을 이용하면 

설정해 놓은 기본값을 읽어온다고 하네요

Hình ảnh hồ sơ của jiwon27720054
jiwon27720054

câu hỏi đã được viết

Đặt câu hỏi