개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.27 01:50

ResourceBundle::getLocales 관련 질문

목록
  • 프론트마법사 1일 전 2025.04.27 01:50
  • 6
    1
제가 현재 Java의 국제화 기능인 ResourceBundle를 사용 중인데,
getLocales 메서드에 대한 이해가 부족하다는 점에서 도움을 요청하고 싶습니다.

ResourceBundle는 리소스 파일을 읽어와 사용하는 클래스입니다.
getLocales 메서드는 리소스 파일에 포함된 locale 정보를 반환합니다.
하지만, 이 메서드를 호출했을 때, 모든 locale 정보를 반환하는 것인지,
해당 리소스 파일에만 포함된 locale 정보만 반환하는 것인지 궁금합니다.

아래의 코드를 보겠습니다.

java

ResourceBundle rb = ResourceBundle.getBundle("myBundle", locale);

Locale[] locales = rb.getLocales();



위 코드에서는 ResourceBundle의 getLocales 메서드를 호출하여
리소스 파일 "myBundle"에 포함된 locale 정보를 얻어옵니다.
하지만, 이 메서드는 모든 locale 정보를 반환하는 것인지,
해당 리소스 파일에만 포함된 locale 정보만 반환하는 것인지 궁금합니다.

혹시, ResourceBundle의 getLocales 메서드가 반환하는
locale 정보의 범위에 대한 정보를 알려주실 수 있으십니까?

    댓글목록

    profile_image
    나우호스팅  1일 전



    ResourceBundle의 getLocales 메서드는 해당 리소스 파일에만 포함된 locale 정보만 반환합니다.

    리소스 파일 "myBundle"에 포함된 locale 정보만 반환하는 이유는 ResourceBundle.getBundle 메서드가 리소스 파일을 읽어와 사용할 때, locale 정보를 함께 읽어와 저장하기 때문입니다.

    따라서, ResourceBundle.getBundle 메서드에 전달된 locale 정보를 기준으로 리소스 파일에 포함된 locale 정보를 반환합니다.

    예를 들어, ResourceBundle.getBundle("myBundle", Locale.KOREA) 메서드를 호출하면, "myBundle" 리소스 파일에 포함된 한국어 locale 정보만 반환합니다.

    반면, ResourceBundle.getBundle("myBundle") 메서드를 호출하면, "myBundle" 리소스 파일에 포함된 모든 locale 정보를 반환합니다.

    따라서, ResourceBundle의 getLocales 메서드는 해당 리소스 파일에만 포함된 locale 정보만 반환합니다.

    아래의 코드를 보겠습니다.

    java
    
    ResourceBundle rb = ResourceBundle.getBundle("myBundle", Locale.KOREA);
    
    Locale[] locales = rb.getLocales(); // 한국어 locale 정보만 반환
    
    


    java
    
    ResourceBundle rb = ResourceBundle.getBundle("myBundle");
    
    Locale[] locales = rb.getLocales(); // "myBundle" 리소스 파일에 포함된 모든 locale 정보 반환
    
    

    2025-04-27 01:51

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 14,848건 / 10 페이지

검색

게시물 검색