Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형
ResourceBundleEditor Plugin 사이트
http://sourceforge.net/projects/eclipse-rbe/

ResourceBundleEditor Plugin 설치되어있다면 다음과 같이 plugin 을 사용하여 properties 추가해본다.

Choose or Type a Locale 리스트 박스에는 다양한 국가들이 나와 있는데
그중 원하는 언어를 선택하고 오른쪽에 Selected locales 란에 추가한다.

지정해준 Base Name 에 Selected locales 이름이 추가되어 파일명이 생성되게 된다.
locale 를 두개 지정해 주었기 때문에 파일이 2개 생성되었다.

다음은 에디터를 사용하여 properties 파일에 message 정보를 추가해 본다.
에디터를 사용하게 되면 좀더 쉽고 빠르게 메시지 정보를 수정하고 추가할수 있다.
생성된 두 개의 파일중 하나는 오른쪽 마우스 클릭하여 Open With  선택하면
편집기 목록이 나오는데 그중 ResourceBundle Edit 를 선택한다.
그러면 아래의 그림처럼 에디터가 나오게 되는데 위에서 추가했던
message_en_US.properties, message_ko_KR.properties 두개의 파일을 동시에 불러와
내용을 보여주고 있다. 여기에 message key 를 추가하고 영어/한국어 란에 입력을 하게 되면
동시에 파일정보가 수정, 입력되게 된다.

그림에서 아래쪽 탭을 보게 되면 처음 만들때 추가했던 영여, 한국어 가 추가되어있는 모습을 볼수 있다.
실제 파일에 저장된 내용을 에디터를 통해서 볼수있다.

그리고 message 작업을 하는중에 locale 정보를 추가하고 싶을때가 있을것이다.
이것은 아래에 New 라는 탭을 누르고 화면에서 Choose or Type a Locale 리스트 박스중
원하는 나라언어들 선택한후 Create 버튼을 클릭하게 되면 탭 정보와 함께 파일이 추가된다.


이 내용을 java 에서 엑세스 해보자.
ResourceBundle 인스턴스를 생성하기 위해서 getBunndle 파라미터로 생성할 때 이름인
message 명을 넘기되면 message_en_US.properties, message_ko_KR.properties 두개의 파일을
로딩하게 된다. 그리고 그 2개의 파일중 원하는 properties 의 내용을 가져오길 원한다면
getBundle 함수  파라미터로 local 정보를 넘기면된다.

public void resourceExecute() throws MissingResourceException{

   String resourceName = "message";

   ResourceBundle rb;

 

   // Default locale : 기본값으로 설정된 KOREA 메시지값

   rb = ResourceBundle.getBundle(resourceName);

   System.out.println("Default : " + rb.getString("chat.message.name"));

 

   // Request a resource bundle with explicitly specified locale

   // Locale.KOREA 파일에 저장된 메시지값
  
rb = ResourceBundle.getBundle(resourceName, Locale.
KOREA);

   System.out.println("KOREAN : " + rb.getString("chat.message.name"));

 

   // No property file for ENGLISH in this example.. will use default

   // Locale.US 파일에 저장된 메시지값
  
rb = ResourceBundle.getBundle(resourceName, Locale.
US);

   System.out.println("ENGLISH    : " + rb.getString("chat.message.name"));

}

==== output 값 ====
Default : 홍길동
KOREAN : 홍길동
ENGLISH : hong




반응형
Posted by 녹두장군1
,