翻訳のターゲット言語を事前設定するカスタムフック
「翻訳パッケージを作成」ダイアログボックスのターゲット言語のリストに事前設定するには 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 ファイルでこれを登録することもできます。
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. メソッドサーバーを再起動します。