복잡한 문자열 작성
이 태스크를 수행하여 변수 서브스트링을 로컬화된 문자열에 삽입하십시오.
시작하기 전에
이 태스크 정보
프로시저
- 메시지 카탈로그에서 검색될 문자열 내 대체 위치를 지정하십시오. 변수 컴포넌트는 중괄호로 지정됩니다(예: {0}).
- 애플리케이션 코드에서, 변수값이 들어 있는 배열에서 전달되는 LocalizableTextFormatter 인스턴스를 작성하십시오. 변수 하위 문자열이 로컬화되어야 하는 경우 사용자가 대신 중첩된 LocalizableTextFormatter 인스턴스를 작성하여 값 대신 인스턴스를 전달할 수 있습니다.
- 로컬화된 문자열을 생성하십시오. 포맷터 인스턴스에서 format 메소드가 호출되면 이전 단계에서 전달된 배열의 각 요소를 포맷터가 가져와 메시지 카탈로그에서 검색된 문자열 내의 일치 색인이 있는 위치 표시기로 대체합니다. 예를 들어 배열에서 색인 0의 값은 검색된 문자열의 {0} 변수를 바꾸게 됩니다.
예
영어 메시지 카탈로그의 다음
행은 한 가지 대체만을 수행한 문자열을 표시합니다.
successfulTransaction = The operation on account {0} was successful.
다른 언어의 메시지 카탈로그에 있는 동일한 키는 각 언어의 적절한 위치에 변수가 있는 이 문자열의 변환본을 갖고 있습니다.
다음 코드는 단일 요소 인수 배열 작성과 LocalizableTextFormatter 인스턴스의 작성 및 사용을 보여 줍니다.
public void updateAccount(String transactionType) {
...
Object[] arg = {new String(this.accountNumber)};
...
LocalizableTextFormatter successLTF =
new LocalizableTextFormatter ("BankingResources",
"successfulTransaction",
"BankingSample",
arg);
...
successLTF.format(this.applicationLocale);
...
}