Hook personalizado para rellenar previamente los idiomas de destino para la traducción
PrePopulateTargetLanguagesHook se utiliza para rellenar previamente una lista de idiomas de destino en el cuadro de diálogo Crear paquete de traducción.
El conjunto de idiomas que se devuelven del hook debe ser válido para el objeto raíz del paquete de traducción.
Por ejemplo, si se devuelve un idioma, pero el usuario no tiene un rol en la biblioteca para ese idioma, el idioma aparece tachado en la lista Idiomas de destino disponibles y no se rellena previamente en la lista Idiomas de destino seleccionados.
O bien, si el idioma de destino no es válido o no está en la preferencia Idiomas soportados, el idioma de destino no válido no se rellena previamente en la lista Idiomas de destino seleccionados. Aparece un mensaje de error para el idioma no válido en el servidor de métodos.
La combinación de idiomas de destino disponibles y seleccionados rellenados en Crear paquete de traducción se puede reorganizar manualmente para cumplir el requisito de traducción.
La implementación de este hook requiere especificar el nombre del hook en la propiedad PrePopulateTargetLanguagesHook.
Interfaz:
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;
}
Consulte también SamplePrePopulateTargetLanguagesHookImpl.java, que es una implementación de ejemplo que se proporciona como referencia.
/**
* 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;
}
}
Registro
1. Use la utilidad xconfmanager para editar translation.service.properties.xconf. También se puede registrar en el fichero components.service.properties que se encuentra en <Windchill>/codebase/com/ptc/core/components.
2. Añada la siguiente propiedad:
<Service context="default"
name="com.ptc.tml.validation.PrePopulateTargetLanguagesHook">
<Option requestor="java.lang.Object"
serviceClass="com.ptc.tml.sample.YourSamplePrePopulateTargetLanguagesHookImplClassName"
selector="null"/>
</Service>
3. Guarde el fichero.
4. Propague los cambios mediante la utilidad xconfmanager. En el directorio <Windchill>\bin, introduzca el siguiente comando:
xconfmanager -pF
5. Reinicie el servidor de métodos.