2012-10-06 3 views

답변

1

Locale과 ResourceBundle 사이의 관계는 Locale이 올바른 특성 파일을 읽는 데 사용됩니다. 기본적으로 ResourceBundle.Control 클래스는 Locale 객체를 사용하며 속성 파일의 기본 이름이 있으면 가장 일치하는 객체를 찾습니다. 예를 들면 :

ResourceBundle rb = ResourceBundle.getbundle("messages", Locale.forLanguageTag("zh-TW"); 

당신은 한 ResourceBundle.Control는 messsages_zh_TW.properties, messages_zh-Hant-TW.properties, messages_zh-Hant.properties, messages_zh.properties을 찾아 마지막 메시지-다시 떨어질 것이다, 그렇게한다면 특정 자원 파일을 찾을 수없는 경우 .properties.

편집

그냥 하나의 마지막 일을 추가 할 수 있습니다. 당신이 로케일 매개 변수를 생략하면 ResourceBundle.getBundle(String)은 기본 로케일에 따라 속성 파일을 반환합니다 - 당신이 이런 식으로 얻을 수있는 하나

Locale default = Locale.getDefault(Locale.Category.DISPLAY); 

이 과도한 입력 불필요하게 보일 수도 있지만를 (바탕 화면의 맥락에서 응용 프로그램)을 사용하는 경우 코드를 더 쉽게 이해할 수 있으므로 항상 Locale을 전달하는 것이 좋습니다.

관련 문제