번역 대상 언어를 미리 입력하기 위한 사용자 정의 후크
PrePopulateTargetLanguagesHook는 번역 패키지 만들기 대화 상자에서 대상 언어 목록을 미리 채우는 데 사용됩니다.
후크에서 반환되는 언어 집합은 번역 패키지의 루트 객체에 적합해야 합니다.
예를 들어, 언어는 반환되었지만 사용자가 이 언어의 라이브러리에 역할이 없으면 언어는 사용 가능한 대상 언어 목록 아래에 취소선으로 표시되고, 선택한 대상 언어 목록에 미리 채워지지 않습니다.
또는 대상 언어가 유효하지 않거나 지원되는 언어 기본 설정에 없는 경우, 이 잘못된 대상 언어가 선택한 대상 언어 목록에 미리 채워지지 않습니다. 잘못된 언어에 대한 오류 메시지가 메소드 서버에 표시됩니다.
번역 패키지 만들기 에 채워진 사용 가능한 대상 언어와 선택된 대상 언어의 결합은 번역 요구 사항을 충족하기 위해 수동으로 섞일 수 있습니다.
이 후크를 구현하려면 PrePopulateTargetLanguagesHook 등록 정보에 후크 이름을 지정해야 합니다
인터페이스
package com.ptc.tml.validation;
import java.util.Set;
import wt.fc.Persistable;
import wt.util.WTException;
/**
* This interface provides a way to preselect the target languages to be displayed under
* 'Selected Target Languages' section in Create translation package dialog.
*
* <BR>
* <BR>
* <B>Supported API: </B>true <BR>
* <BR>
* <B>Extendable: </B>false
*/
public interface PrePopulateTargetLanguagesHook {
public Set<String> getSelectedTargetLanguageCodes(Persistable p) throws WTException;
}
참고할 수 있도록 제공된 샘플 구현인 SamplePrePopulateTargetLanguagesHookImpl.java도 참조하십시오.
/**
* Sample implementation for the {@link PrePopulateTargetLanguagesHook}.
* There are 3 valid language codes 'ar', 'bg' and 'cs' mentioned and one language code 'pg' is invalid code.
*/
public class SamplePrePopulateTargetLanguagesHookImpl implements PrePopulateTargetLanguagesHook{
@Override
public Set<String> getSelectedTargetLanguageCodes(Persistable p) {
Set<String> result = new HashSet<>();
result.add("ar");
result.add("bg");
result.add("cs");
result.add("pg");
return result;
}
}
레지스트리
1. xconfmanager 유틸리티를 사용하여
translation.service.properties.xconf를 편집할 수 있습니다.
<Windchill>/codebase/com/ptc/core/components에 있는
components.service.properties 파일에서 등록할 수도 있습니다. xconfmanager 유틸리티 사용에 대한 자세한 내용은
xconfmanager 유틸리티 정보를 참조하십시오.
2. 다음 등록 정보를 추가합니다.
<Service context="default"
name="com.ptc.tml.validation.PrePopulateTargetLanguagesHook">
<Option requestor="java.lang.Object"
serviceClass="com.ptc.tml.sample.YourSamplePrePopulateTargetLanguagesHookImplClassName"
selector="null"/>
</Service>
3. 파일을 저장합니다.
4. xconfmanager 유틸리티를 사용하여 변경 사항을 전파합니다. <Windchill>\bin 디렉토리에서 다음 명령을 입력합니다.
xconfmanager -pF
5. 메소드 서버를 다시 시작합니다.