java resourcebundle 예제

다행히도, 우리는 우리가 위에서 언급 한 모든 문제를 해결하는 데 도움이이 클래스를 제공하는 자바에 은행 수 있습니다. 이러한 로캘 개체는 이전 두 단계에서 만든 속성 파일과 일치해야 합니다. 예를 들어 Locale.FRENCH 개체는 LabelsBundle_fr.properties 파일에 해당합니다. Locale.ENGLISH에는 일치하는 LabelsBundle_en.properties 파일이 없으므로 기본 파일이 사용됩니다. 명령 자바 com.javacodegeeks.example.resourcebundle.App의 출력은 유사해야한다 : 여기이 예제에서 사용되는 mybundle.properties 파일입니다. 그들 모두는 동일하지만, 첫 번째는 아마도 자바 프로그래머들 사이에서 가장 인기가 있습니다. 속성 파일에도 주석을 넣을 수 있다는 것을 알아야합니다. 댓글은 항상 # 또는 !로 시작합니다. ResourceBundle는 두 개의 하위 클래스가 있는 추상 클래스입니다: PropertyResourceBundle 및 ListResourceBundle. PropertyResourceBundle는 속성 파일에서 데이터를 로드합니다. 속성 파일은 번역 가능한 텍스트가 포함된 일반 텍스트 파일입니다. 속성 파일은 Java 소스 코드의 일부가 아니며 문자열 값만 포함할 수 있습니다. ListResourceBundle는 편리한 목록으로 리소스를 관리합니다.

클래스 파일에서 데이터를 가져옵니다. ListResourceBundle에 로캘별 개체를 저장할 수 있습니다. 라이브러리는 속성 의 이름에 사용되는 로캘 및 이름 접미사를 기반으로 속성 파일을 읽습니다. 예를 들어 MyLabels_en_US.properties라는 레이블 파일을 생각해 보십시오. 이 파일은 로케일이 미국-영어를 나타내는 en_US로 설정되어 있을 때 ResourceBundle 유틸리티에서 읽습니다. Java 파일은 문자열뿐만 아니라 우리가 원하는 모든 객체를 보유 할 수있는 속성 파일에 비해 한 가지 주요 이점이 있습니다. 반대로 PropertyResourceBundle는 기본적으로 ISO 8859-1 인코딩을 사용하여 파일을 로드하며, 이는 UTF-8보다 적은 문자를 가지고 있습니다(폴란드어 예제에 문제가 발생). 각 로캘에 대해 별도의 Java 클래스를 만들어야 합니다. 다음 예제에서는 java.util.ResourceBundle.getBundle() 메서드의 사용을 보여 주실 수 있습니다. 자바 리소스 번들 튜토리얼에서 우리는 자바에서 ResourceBundle와 함께 작업하는 방법을 보여줍니다. 다음 예제에서는 스프링 부팅 응용 프로그램에서 리소스 번들을 사용합니다.

Spring은 인기있는 Java 응용 프로그램 프레임 워크입니다. Spring Boot는 최소한의 노력으로 독립형 생산 등급 스프링 기반 애플리케이션을 만드는 새로운 솔루션입니다. 이것은 ResourceBundle 클래스를 사용 하 여 설정 하는 방법의 예입니다. 이 자습서에서는 Java ResourceBundle을 다루었습니다. 우리는 두 개의 자바 콘솔 응용 프로그램, 하나의 스윙 응용 프로그램 및 하나의 스프링 부팅 응용 프로그램을 만들었습니다. 스프링 MessageSource 자습서, Java 스윙 자습서, Java 자습서 또는 Java 자습서에서 이미지 표시 와 같은 관련 자습서를 살펴볼 수도 있습니다. 다행히도 이러한 불편함은 Java 9에서 더 이상 존재하지 않습니다. JVM은 UTF-8 인코딩에서 속성 파일을 읽으며 라틴어가 아닌 문자를 사용하는 데 아무런 문제가 없습니다. 세 번째 예제에서는 Java 스윙을 사용하여 간단한 GUI 응용 프로그램을 만듭니다.

이 예제를 사용하면 UI의 언어를 동적으로 변경할 수 있습니다. 이 예제에서는 ListResourceBundle 클래스를 사용합니다. 스윙에 익숙하지 않은 사람들을 위해 ZetCode에 자바 스윙 튜토리얼이 있습니다. 또한 예제에서는 getString (문자열 키), getObject (문자열 키) 및 getStringArray (문자열 키)를 사용하여 원하는 값을 얻을 수 있음을 보여 주십니다. 리소스 번들 파일을 사용하는 예제를 살펴보겠습니다. 코드 예제에서는 세 개의 리소스 번들에 사용된 모든 단어를 인쇄합니다. 이 예제는 슬로바키아 및 체코 공화국에 대한 일부 지리적 데이터를 인쇄합니다. 따라서 classpath에서 속성 파일이 발견되면 키-값 쌍은 속성 파일에서만 상속됩니다. Java 파일에도 동일한 규칙이 적용됩니다. 로캘 객체는 특정 지리적, 정치적 또는 문화적 영역을 나타내며, 국제화로 더 잘 알고 있습니다(종종 “I18N”으로 축약).

Java는 대부분의 최신 언어 및 방언에 대한 응용 프로그램의 텍스트를 지역화하기 위한 철저한 지원을 제공합니다.

02 August, 2019
Posted in Uncategorized

Author: wolff