Hook personnalisé permettant de préremplir les langues cibles de traduction
La propriété PrePopulateTargetLanguagesHook permet de préremplir une liste de langues cibles dans la boîte de dialogue Créer un lot de traduction.
L'ensemble de langues qui est retourné à partir du hook doit être autorisé pour l'objet racine du lot de traduction.
Par exemple, si une langue est retournée, mais que l'utilisateur ne dispose pas de rôle dans la bibliothèque correspondant à cette langue, celle-ci est indiquée barrée dans la liste Langues cibles disponibles et n'est pas préremplie dans la liste Langues cibles sélectionnées.
De même, si la langue cible n'est pas valide ou ne figure pas dans la préférence Langues prises en charge, la langue cible non valide n'est pas préremplie dans la liste Langues cibles sélectionnées. Un message d'erreur s'affiche pour la langue non valide dans le serveur de méthodes.
La combinaison des langues cibles disponibles et sélectionnées renseignées dans Créer un lot de traduction peut être remaniée manuellement pour répondre à vos besoins de traduction.
Pour implémenter ce hook, vous devez spécifier son nom dans la propriété PrePopulateTargetLanguagesHook.
Interface
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;
}
Consultez également le fichier SamplePrePopulateTargetLanguagesHookImpl.java qui est un exemple d'implémentation fourni pour référence.
/**
* 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;
}
}
Registre
Procédez comme suit pour propager les modifications apportées à translation.service.properties.xconf.
1. Créez un fichier xonf personnalisé à l'emplacement <customizationRootDirectory> contenant la nouvelle valeur appropriée pour la propriété :
<Service context="default"
name="com.ptc.tml.validation.PrePopulateTargetLanguagesHook">
<Option requestor="java.lang.Object"
serviceClass="com.ptc.tml.sample.YourSamplePrePopulateTargetLanguagesHookImplClassName"
selector="null"/>
</Service>