LocalizableTextFormatter 클래스
com.ibm.websphere.i18n.localizabletext 패키지에 있는 LocalizableTextFormatter 클래스는 현지화 가능 텍스트 패키지를 사용하기 위한 1차 프로그래밍 인터페이스입니다. 이 클래스의 인스턴스에는 키 및 자원 번들에서 언어별 문자열을 작성하기 위해 필요한 정보가 들어 있습니다.
- java.io.Serializable
- com.ibm.websphere.i18n.localizabletext.LocalizableText
- com.ibm.websphere.i18n.localizabletext.LocalizableTextL
- com.ibm.websphere.i18n.localizabletext.LocalizableTextTZ
- com.ibm.websphere.i18n.localizabletext.LocalizableTextLTZ
클래스 인스턴스의 작성 및 초기화
- LocalizableTextFormatter()
- LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName)
- LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName, Object[] args)
- setResourceBundleName(String resourceBundleName)
- setPatternKey(String patternKey)
- setApplicationName(String appName)
네 번째 메소드인 setArguments(Object[] args)를 사용하여 구성 후 선택적 현지화 값을 설정할 수 있습니다. 이 주제의 끝에서 애플리케이션 특정 값의 처리의 내용을 참조하십시오. 사용법 예에 대해서는 복잡한 문자열 작성의 내용을 참조하십시오.
형식화 텍스트를 위한 API
- LocalizableText.format()
- LocalizableTextL.format(java.util.Locale locale)
- LocalizableTextTZ.format(java.util.TimeZone timeZone)
- LocalizableTextLTZ.format(java.util.Locale locale, java.util.TimeZone timeZone)
인수가 없는 형식 메소드는 JVM(Java™ Virtual Macine)의 기본값으로 설정된 로케일 및 시간대 값을 사용합니다. 네 개의 메소드는 모두 필요할 때 LocalizableException 오브젝트를 발행합니다.
메시지 카탈로그의 위치 및 appName 값
현지화 가능 텍스트 패키지로 작성된 애플리케이션은 메시지 카탈로그에 로컬로 또는 원격으로 액세스할 수 있습니다. 분산 환경에서는, 중앙에 위치한 원격 메시지 카탈로그를 사용하는 것이 적절합니다. 모든 클라이언트가 동일한 카탈로그를 사용할 수 있어 카탈로그의 유지보수가 간편합니다. 로컬 형식화는 테스트 상황에 유용하며 일부 환경에 적절합니다. 로컬 또는 원격 형식화를 지원하려면, LocalizableTextFormatter 인스턴스가 형식화 애플리케이션의 이름을 표시해야 합니다.
예를 들어, 애플리케이션이 원격 카탈로그를 사용하여 메시지를 형식화할 때 실제로는 서버의 엔터프라이즈 Bean이 메시지를 형식화합니다. 현지화 가능 텍스트 패키지에 포맷터 Bean의 찾아보기와 이에 대한 호출의 발행을 자동화하기 위한 코드가 있다 해도, 애플리케이션이 포맷터 Bean의 이름을 알아야 합니다. LocalizableTextFormatter 클래스의 여러 메소드는 appName에 설명된 값을 사용합니다. 이는 형식화 애플리케이션의 이름을 말하며, 값이 설정된 애플리케이션의 이름은 아닙니다.
메시지 캐싱
LocalizableTextFormatter 인스턴스는 형식화된 메시지가 다시 필요할 때 재형식화될 필요가 없도록 이를 선택적으로 캐시할 수 있습니다. 기본적으로, 캐싱은 사용 가능하지 않지만, 캐싱을 사용 가능하게 하려면 LocalizableTextFormatter.setCacheSetting(true) 호출을 사용할 수 있습니다. 캐싱이 사용 가능하게 되고 형식 메소드가 호출될 때, 메소드는 메시지가 이미 형식화되었는지 여부를 판별합니다. 이러한 경우, 캐싱된 메시지가 리턴됩니다. 캐시에서 메시지를 찾을 수 없는 경우, 메시지가 형식화되어 호출자에게 리턴되고 나중에 사용하기 위해 메시지의 사본이 캐싱됩니다.
- setResourceBundleName(String resourceBundleName)
- setPatternKey(String patternKey)
- setApplicationName(String appName)
- setArguments(Object[] args)
폴백 정보 제공을 위한 API
- setFallBackString(String message)
- setFallBackLocale(Locale locale)
- setFallBackTimeZone(TimeZone timeZone)
사용법 예에 대해서는 로컬화된 텍스트 생성의 내용을 참조하십시오.
애플리케이션 특정 값의 처리
현지화 가능 텍스트 패키지는 시간대 및 로케일을 기반으로 현지화에 대한 기본 지원을 제공하지만, 기타 값을 기초로 하여 메시지를 구성할 수도 있습니다. 현지화된 텍스트 형식화에 있어서 로케일 및 시간대 이외의 변수를 고려해야 하는 경우, 사용자의 포맷터 클래스를 작성하십시오.
- LocalizableTextLTZ
- LocalizableTextL
- LocalizableTextTZ
- LocalizableText
예를 들어, 현지화 가능 텍스트 패키지는 시간 및 날짜를 보고하는 클래스(LocalizableTextDateTimeArgument)를 제공합니다. 이러한 경우, 날짜 및 시간 형식화는 로케일, 시간대 및 양식의 세 가지 값에 따라 현지화됩니다.