로컬화된 하부 문자열에 대해 포맷터 인스턴스 중첩
변수 하위 문자열을 메시지 카탈로그에서 검색된 문자열로 대체할 수 있는 기능은 로컬화 가능 텍스트 패키지에 유연성을 더하게 되지만 이러한 기능은 변수값이 로컬화할 수 없는 한 제한적입니다. LocalizableTextFormatter 인스턴스를 중첩하여 이 값을 로컬화할 수 있습니다.
시작하기 전에
프로시저
- 메시지 카탈로그에서 변수 하위 문자열의 잠재값에 상응하는 항목을 추가하십시오.
- 애플리케이션 코드로 변수 하위 문자열에 대한 LocalizableTextFormatter 인스턴스를 작성하여 필수 로컬화 값을 설정하십시오.
- 변수 하위 문자열에 대한 포맷터 인스턴스가 들어 있는 배열로 전달되는 1차 문자열에 대한 LocalizableTextFormatter 인스턴스를 작성하십시오.
예
다음 영어 메시지 카탈로그의 행은
색인 0에서 로컬화 가능 변수를 지원해야 하는 두 가지 대체 및 항목을
갖고 있는 문자열 항목을 표시합니다. (문자열의 두 번째 변수, 계정 번호는
로컬화하지 않아도 됩니다.)
successfulTransaction = The {0} operation on account {1} was successful. depositOpString = deposit withdrawOpString = withdrawal
다음 코드는 중첩된
포맷터 인스턴스의 작성 및 1차 포맷터 인스턴스로의 해당 삽입(계정
번호 포함)을 보여 줍니다.
public void updateAccount(String transactionType) { ... // Successful deposit LocalizableTextFormatter opLTF = new LocalizableTextFormatter("BankingResources", "depositOpString", "BankingSample"); Object[] args = {opLTF, new String(this.accountNumber)}; ... LocalizableTextFormatter successLTF = new LocalizableTextFormatter ("BankingResources", "successfulTransaction", "BankingSample", args); ... successLTF.format(this.applicationLocale); ... }