Extending Machine Translation in AEM

Post on 15-Aug-2015

269 views 0 download

Tags:

transcript

Extending Machine Translation in AEM Vivek Sachdeva

Agenda• What all is needed for translation?• Where is the configuration?• Developing Custom Connector• Comparison with OOTB MS Translator• Translation Workflows Decoded

Goal of this Session

To understand how a custom language translator can be developed by comparing it with OOTB MS Translator.

What all is needed for Translation...

• A Translation Vendor – This is typically a cloud service where vendor related information is stored. Eg : Microsoft, Beebox.

• A mechanism to send content to translation system

• A mechanism to import content back to AEM

Where is the configuration?

Translator Cloud Service

Translation Integration Cloud Service

Mapping Translation Service to Site

How do I develop a custom connector?

● Create an implementation class for TranslationService interface that extends AbstractTranslationService

https://github.com/viveksachdeva/machine-translation-aem/blob/master/bundle/src/main/java/com/tothenew/impl/MyTranslationServiceImpl.java

● It includes utilities required for translation like getting source page language, translating content, caching translated content

Comparison with OOTB MS Translator...

Creating Translation Service from Factory

Getting Language Prop Map for AEM-Vendor Lang Mapping

Detecting Source Content Language

Caching Translated Content

Getting Translated Content

Translation Workflows Decoded

Language Copy Creation

● Calls CreateLanguageCopyProcess that internally calls TranslateLanguageCopyProcess

Language Copy Creation(Contd...)

Language Copy Updation

● Calls CreateLanguageCopyLaunchProcess that uses LaunchManager API to create launch but at the same time does not create target language copy

Language Copy Updation(Contd..)