Upload
vivek-sachdeva
View
270
Download
0
Tags:
Embed Size (px)
Citation preview
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 TranslationServiceFactory interface
https://github.com/viveksachdeva/machine-translation-aem/blob/master/bundle/src/main/java/com/tothenew/impl/MyTranslationServiceFactoryImpl.java
● It creates instance of service that does translation plus it defines language and category configuration for machine translation
● 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..)
● https://docs.adobe.com/docs/en/aem/6-0/develop/extending/mt-dev.html
● http://docs.adobe.com/docs/en/aem/6-1/ref/javadoc/com/adobe/granite/translation/core/common/TranslationResultImpl.html
References