Una nueva aplicación de servicio que trae consigo SharePoint 2013 es la de traducción automática. En este post vamos a ver un ejemplo de uso, partimos de la base de que ya la tenemos configurada y lista para usar.
¿Cómo funciona?
Microsoft nos proporciona un servicio de traducción automática alojado en la nube, este servicio es el que realmente realizará la traducción. Por lo tanto la aplicación de servicio simplemente lo que hace es reenviar esta petición de traducción al servicio de traducciones de Microsoft.
NOTA: El servidor donde se ejecutan las traducciones automáticas debe ser capaz de conectarse a internet.
Tendremos 2 tipos de traducción automática:
- Síncrona: Se procesan en cuanto se envían.
- Asíncrona: El proceso es realizado por un Timer Job llamado “SharePoint Translation Services” que está puesto a 15 minutos por defecto.
¿Qué vamos a poder traducir?
Con esta aplicación de servicios vamos a ser capaces de traducir archivos y sitios.
¿Cómo lo vamos a utilizar?
Para hacer uso del servicio de traducción automática de SharePoint 2013 podremos utilizar Modelo de Objetos de Servidor, Modelo de Objetos de Cliente y API REST.
¿Un ejemplo?
Para comprobar que la traducción funciona, voy a poner todo el contenido de este mismo post en un archivo de Microsoft Word y haremos que el servicio traduzca este contenido al inglés.
Por lo tanto para realizar esta comprobación, crearemos una aplicación de consola y realizaremos la traducción de forma síncrona.
El código que aparece a continuación coge el documento llamado “Traducción.docx”, lo traduce y lo pone en otra biblioteca que he utilizado para guardar las traducciones realizadas. El archivo traducido se llamará “TraduccionIngles.docx”
SPServiceContext spContext = SPServiceContext.GetContext(spSite);
SyncTranslator timerJobTranslate =
new
SyncTranslator(spContext, CultureInfo.GetCultureInfo(1033));
timerJobTranslate.OutputSaveBehavior = SaveBehavior.AlwaysOverwrite;
timerJobTranslate.Translate(“http:
//xxxxxxx/Documents/Traduccion.docx” , “http://xxxxxxx/DocumentsTranslate/TraduccionIngles.docx”);
Como podéis ver, la forma síncrona usa la clase SyncTranslator, pasándole el contexto y la cultura nos bastaría para realizar la traducción instantánea, en cambio la forma asíncrona utilizaría la clase TranslationJob.
Con este simple bloque de código ya podríamos realizar una traducción del documento de español a inglés.
Por último solo nos queda ver el resultado de la traducción.
Inicialmente el documento tenía este aspecto
y el resultado final después de la traducción es este
fuente: solidq
No hay comentarios:
Publicar un comentario