자바 내부화-ResourceBundle 클래스
ResourceBundle 클래스는 로케일에 민감한 텍스트와 객체를 저장하는 데 사용됩니다. 일반적으로 속성 파일을 사용하여 로케일 특정 텍스트를 저장 한 다음 ResourceBundle 객체를 사용하여 표현합니다. 다음은 Java 기반 애플리케이션에서 로케일 특정 특성 파일을 사용하는 단계입니다.
1 단계 : 속성 파일을 만듭니다.
영어 로케일에 대한 특성 파일이 필요하다고 가정하십시오. 그런 다음 속성 파일 이름 XXX_en_US.properties를 만듭니다. 여기서 XXX는 파일 이름이고 en_US는 영어 (미국)의 로캘을 나타냅니다.
Messages_en_US.properties
message=Welcome to TutorialsPoint.COM!
이제 프랑스어 로케일에 대한 속성 파일을 생성 해 보겠습니다. 그런 다음 특성 파일 이름 XXX_fr_FR.properties를 작성하십시오. 여기서 XXX는 파일 이름이고 fr_FR은 프랑스어 (프랑스)의 로케일을 나타냅니다.
Messages_fr_FR.properties
message=Bienvenue sur TutorialsPoint.COM!
여기에서 키가 동일하지만 값이 두 속성 파일 모두에서 로케일에 따라 다르다는 것을 알 수 있습니다.
2 단계 : ResourceBundle 객체 생성
다음 구문을 사용하여 속성 파일 이름 및 로캘이있는 ResourceBundle 개체를 만듭니다.
ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);
3 단계 : ResourceBundle 객체에서 값을 가져옵니다.
키를 전달하여 ResourceBundle 객체에서 값을 가져옵니다.
String value = bundle.getString("message");
예
다음 예제는 ResourceBundle 객체를 사용하여 속성 파일의 로케일 특정 값을 표시하는 방법을 보여줍니다.
IOTester.java
import java.util.Locale;
import java.util.ResourceBundle;
public class I18NTester {
public static void main(String[] args) {
ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);
System.out.println("Message in "+Locale.US +": "+bundle.getString("message"));
bundle = ResourceBundle.getBundle("Messages", Locale.FRANCE);
System.out.println("Message in "+Locale.FRANCE +": "+bundle.getString("message"));
}
}
산출
다음 결과를 인쇄합니다.
Message in en_US: Welcome to TutorialsPoint.COM!
Message in fr_FR: Bienvenue sur TutorialsPoint.COM!
명명 규칙에 대한 참고 사항
다음은 특성 파일의 이름 지정 규칙입니다.
기본 로케일에 맵핑 된 특성 파일의 경우 접 두부가 필수가 아닙니다. message_en_US.properties는 message.properties와 동일합니다.
로케일에 매핑 된 속성 파일의 경우 접두사를 두 가지 방법으로 첨부 할 수 있습니다. message_fr.properties는 message_fr_FR.properties와 동일합니다.