{"id":40924,"date":"2017-01-16T17:06:31","date_gmt":"2017-01-16T11:36:31","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=40924"},"modified":"2017-11-22T16:02:14","modified_gmt":"2017-11-22T10:32:14","slug":"top-6-translation-features-in-aem-6-2","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/top-6-translation-features-in-aem-6-2\/","title":{"rendered":"Top 6 Translation Features in AEM 6.2"},"content":{"rendered":"<p>There are few out-of-the-box Translation features in <a title=\"AEM development\" href=\"http:\/\/www.tothenew.com\/wcm\/cq-aem-development-consulting\">AEM<\/a>\u00a0which are used for overall translation management and specifically for\u00a0<a href=\"http:\/\/www.tothenew.com\/blog\/how-to-implement-a-translation-connector-in-aem\/\" target=\"_blank\">translation connector implementation<\/a>. The base foundation of these features were already laid down with the release of AEM 6.1 however the enhancements in AEM 6.2 have made the implementation and the entire translation process management easier.<\/p>\n<p>Outlined below are few most relevant features<\/p>\n<p><strong>1.\u00a0Language Copy Management<\/strong><\/p>\n<p>In AEM 6.1 one had to manually create the language copy and then proceed with end-to-end execution of translation process, thus resulting in an additional execution step. But with AEM 6.2, in the \u2018Warning dialog box&#8217; there is an option to \u2018Create Language Copy\u2019 \u00a0by simply clicking on a button. This dialog box doesn\u2019t open if the Language Copy\u00a0of the content already exists.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-40954 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/43.png\" alt=\"warning message\" width=\"2538\" height=\"1095\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/43.png 2538w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/43-300x129.png 300w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/43-1024x441.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/43-624x269.png 624w\" sizes=\"(max-width: 2538px) 100vw, 2538px\" \/><\/p>\n<p><b>2. Accept or Reject Workflow<\/b><\/p>\n<p>The feature to accept or reject the content has been introduced to manage the translated content on AEM. This option is available only when the content required to be translated\u00a0is in \u2018Ready for Review\u2019 status. On rejection, addition of comment is also available which can be used to state the reason of rejection. But the project cannot be restarted or the content cannot be sent for translation again, if all the content is \u2018Rejected\u2019. Generally the review part is handled by translation services providers, but in case an additional review is required, then this feature would be of a great use.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-40953 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/53.png\" alt=\"translation workflow\" width=\"2542\" height=\"816\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/53.png 2542w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/53-300x96.png 300w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/53-1024x328.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/53-624x200.png 624w\" sizes=\"(max-width: 2542px) 100vw, 2542px\" \/><\/p>\n<p><b>3. i18n Translations<\/b><\/p>\n<p><a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/components\/i18n\/translator.html\">i18n dictionaries<\/a>, a translation feature has been introduced in AEM 6.2, \u00a0where the\u00a0dictionary automatically queues up into the translation\u00a0job and which can be sent for translation. Any explicit dictionaries can be added by clicking on \u2018Add i18N-Dictionary\u2019 option under the \u2018Translation Job\u2019. This would help in translating all the content present under dictionaries which is referenced all over the site,\u00a0in one go.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-40952 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/81.png\" alt=\"i18n add\" width=\"2537\" height=\"1085\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/81.png 2537w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/81-300x128.png 300w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/81-1024x437.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/81-624x266.png 624w\" sizes=\"(max-width: 2537px) 100vw, 2537px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-40951 size-full\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/91.png\" alt=\"i18n option\" width=\"2533\" height=\"1158\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2016\/09\/91.png 2533w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/91-300x137.png 300w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/91-1024x468.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2016\/09\/91-624x285.png 624w\" sizes=\"(max-width: 2533px) 100vw, 2533px\" \/><\/p>\n<p><b>4. Traslation Rule Editor File<\/b><\/p>\n<p>The most critical requirement for any translation connector to work is to configure correct <a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/administer\/sites\/translation\/tc-rules.html#Overriding%20Rules\">translation rules file<\/a>. This file predominantly controls what all properties in a component should be sent for translation and hence this should be set up correctly.\u00a0Currently this file needs to be populated by either developer or administrator who has good knowledge of components, their properties and business requirements in terms of what needs to be translated and what needs to be ignored. Because of the complexity of generating rules\u00a0file, an enhanced management console to populate this file\u00a0is going to be released with AEM 6.3.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignleft wp-image-44994 size-large\" src=\"\/blog\/wp-ttn-blog\/uploads\/2017\/01\/component_selection-1024x525.png\" alt=\"component_selection\" width=\"625\" height=\"320\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2017\/01\/component_selection-1024x525.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2017\/01\/component_selection-300x153.png 300w, \/blog\/wp-ttn-blog\/uploads\/2017\/01\/component_selection-624x320.png 624w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>5. Multiple Language Management<\/strong><\/p>\n<p>The \u00a0project creation process doesn\u2019t provide an option to translate or manage multiple language directly using the project console but different languages\u00a0can be managed using <a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/administer\/sites\/translation\/tc-prep.html\">References<\/a>\u00a0tab under Sites section. Internally translation API is capable of handling a single language only. Hence, for multiple languages, multiple projects are created under\u00a0Project folders, with project names corresponding to target language codes.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-45022 size-large\" src=\"\/blog\/wp-ttn-blog\/uploads\/2017\/01\/2_Reference_Languages-1024x527.png\" alt=\"2_Reference_Languages\" width=\"625\" height=\"321\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2017\/01\/2_Reference_Languages-1024x527.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2017\/01\/2_Reference_Languages-300x154.png 300w, \/blog\/wp-ttn-blog\/uploads\/2017\/01\/2_Reference_Languages-624x321.png 624w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-45024 size-large\" src=\"\/blog\/wp-ttn-blog\/uploads\/2017\/01\/7_MultiFolder-1024x508.png\" alt=\"7_MultiFolder\" width=\"625\" height=\"310\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2017\/01\/7_MultiFolder-1024x508.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2017\/01\/7_MultiFolder-300x148.png 300w, \/blog\/wp-ttn-blog\/uploads\/2017\/01\/7_MultiFolder-624x309.png 624w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/p>\n<p><strong>6. Translation API<\/strong><\/p>\n<p>There have been enhancements in translation API for providing the support for XLIFF\/XML conversions which helps developer in exporting\u00a0the correct source file to translator and importing the translated file from the translator. Package<em> com.adobe.granite.translation\u00a0<\/em>contains all the relevant classes being used for translation process implementation.<\/p>\n<p>The <a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/ref\/javadoc\/com\/adobe\/granite\/translation\/api\/xliff\/TranslationXLIFFService.html\">XLIFF API<\/a> provides support for converting translation-object-XML to XLIFF, and vice-versa.<\/p>\n<p>The\u00a0<a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/ref\/javadoc\/com\/adobe\/granite\/translation\/api\/TranslationObject.html\">TranslationObject<\/a> has also been enhanced to support retrieving Translation Object XML\/XLIFF input stream. Plus you can get the page preview of Translation Object by creating Zip file containing HTML and its references.<\/p>\n<p>Following methods support these enhancements:<\/p>\n<pre><a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/ref\/javadoc\/com\/adobe\/granite\/translation\/api\/TranslationObject.html#getTranslationObjectXLIFFInputStream(java.lang.String)\">InputStream\u00a0getTranslationObjectXLIFFInputStream(String\u00a0xliffVersion)\r\n<\/a><\/pre>\n<pre><a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/ref\/javadoc\/com\/adobe\/granite\/translation\/api\/TranslationObject.html#getTranslationObjectXMLInputStream()\">InputStream\u00a0getTranslationObjectXMLInputStream()<\/a><\/pre>\n<pre><a href=\"https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/ref\/javadoc\/com\/adobe\/granite\/translation\/api\/TranslationObject.html#getTranslationObjectPreview()\">ZipInputStream\u00a0getTranslationObjectPreview()<\/a><\/pre>\n<p>A high level idea on the usage of these functions is provided in the <a href=\"https:\/\/github.com\/Adobe-Marketing-Cloud\/aem-translation-framework-bootstrap-connector\">Bootstrap Framework<\/a>. The exact flow of translation API and product issues present in XML to XLIFF conversion will be further explained in upcoming blogs.<\/p>\n<p>References:<\/p>\n<ul>\n<li>https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/administer\/sites\/translation.html<\/li>\n<li>http:\/\/blogs.perficient.com\/adobe\/2016\/03\/31\/4-new-invaluable-translation-features-in-aem-6-2\/<\/li>\n<li>https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/components\/i18n.html<\/li>\n<li>https:\/\/docs.adobe.com\/docs\/en\/aem\/6-2\/develop\/ref\/javadoc\/overview-summary.html<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>There are few out-of-the-box Translation features in AEM\u00a0which are used for overall translation management and specifically for\u00a0translation connector implementation. The base foundation of these features were already laid down with the release of AEM 6.1 however the enhancements in AEM 6.2 have made the implementation and the entire translation process management easier. Outlined below are [&hellip;]<\/p>\n","protected":false},"author":993,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":12},"categories":[1],"tags":[4847,4051,4052],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/40924"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/993"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=40924"}],"version-history":[{"count":1,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/40924\/revisions"}],"predecessor-version":[{"id":52474,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/40924\/revisions\/52474"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=40924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=40924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=40924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}