Suyati Technologies
  • Platforms
    • CRM
      • Salesforce
      • Dynamics
    • CMS
      • Sitecore
      • Drupal
      • Episerver
      • Sitefinity
    • Ecom
      • Magento
      • Sitecore commerce
    • RPA
      • UiPath
    • Analytics
    • Martech
  • Services
    • CX Consulting
    • DSaaS
    • Product Engineering
  • Fluid Solutions
    • Buyer Rhythms Engine
    • Lead Prioritization
    • Customer LifeTime Value
    • Chatbot
    • Account Based Marketing
    • Online Proctoring Solution
  • Intel
    • Blog
    • eBooks
    • Webinars
    • Case Studies
  • About Us
    • Management Team
    • Advisory Board
    • Our Story
    • Testimonials
  • Careers
Suyati Technologies
  • Platforms
    • CRM
      • Salesforce
      • Dynamics
    • CMS
      • Sitecore
      • Drupal
      • Episerver
      • Sitefinity
    • Ecom
      • Magento
      • Sitecore commerce
    • RPA
      • UiPath
    • Analytics
    • Martech
  • Services
    • CX Consulting
    • DSaaS
    • Product Engineering
  • Fluid Solutions
    • Buyer Rhythms Engine
    • Lead Prioritization
    • Customer LifeTime Value
    • Chatbot
    • Account Based Marketing
    • Online Proctoring Solution
  • Intel
    • Blog
    • eBooks
    • Webinars
    • Case Studies
  • About Us
    • Management Team
    • Advisory Board
    • Our Story
    • Testimonials
  • Careers
Suyati Technologies > Blog > Content Translator Smart Desktop Widget For Ektron

Content Translator Smart Desktop Widget For Ektron

by Bisileesh Bhaskaran May 6, 2013
by Bisileesh Bhaskaran May 6, 2013 0 comment

Multi-lingual content improves the popularity of a website and are part of new age marketing strategy. This draws attention to the significance of content translation in a content management system.
So how does the popular Content Management Systems translate the contents to other languages? This needs integration with third party translation services, which will allow the CMS user to send the content to the translation services and get it translated to the required language. If you are an Ektron CMS user and would like to offer multi-lingual content, read on.
At present, Ektron provide means to do the translation with the help of third party/in-house translation agencies/services .This is provided by means of “Export for translation” and “Import Translated Files” options in the workarea. Ektron allows you to generate the XLIFF file of a content (which is called as Export for Translation) and allows to Import the translated XLIFF back to the CMS.
Do we have to go through all this workflow to get a content translated? Can we have a direct approach? Yes! we can. As a Premier Partner of Ektron for APAC region, we have realized this need and developed a
content translator widget that will revolutionize the way the content translation is done through Ektron. The idea of “Content Translation Smart Desktop Widget” derives from this thought.
The Content Translation widget is a smart desktop widget which will enable the user to pick the specific content and choose the corresponding language to which the content needs to be translated, hit the translate button and that’s it! Your content is translated!
This custom widget is implemented in two modes.

I) In House Translation Widget.

This Custom widget deals with in house Manual Translation of content and syncing them back to workarea.

II)Google Translator Widget.

This Custom widget is an Integration of  the Google translate API with Ektron for dynamically translating contents between thousands of language pairs.

In House Translation Widget

  • Widget UI:

The widget UI contains the following elements,

A TreeView Server control which enable the user to pick the content from workarea.

A “Get Content Data” button, which will populate the content data to the textbox, and this data can be translated internally.

A link to Google Translate is provided along with widget UI to do the translation right away. User can make use of any other free online translation site’s for this purpose or this can be done internally.

Once translated the translated data can be pasted to the adjacent”Translted Text” textbox.

‘Translate” button, which will translate the corresponding content.

Inhouse content translator

  • Code Sinppets:

A tree view can be generated to show all the contents from the workarea.
This can be done by pulling the folder array data by Content API and serializing it to xml.

Content Translator

The folder array data xml can be binded to a Treeview server control and the folder id can be assigned as the node value.
Image2 CT
Image3 CTA Sample Folder Data XML looks like the following:
-<ArrayOfFolderData xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
-<FolderData>
<Id>73</Id> <TemplateId>0</TemplateId> <ParentId>0</ParentId> <NameWithPath/> <Name>Main Site</Name> <Description/> <IsPermissionsInherited>true</IsPermissionsInherited> <IsHidden>false</IsHidden> <InheritedFrom>0</InheritedFrom> <PrivateContent>false</PrivateContent> <IsXmlInherited>false</IsXmlInherited> <XmlInheritedFrom>0</XmlInheritedFrom> <StyleSheet/> <TemplateFileName/> <IsStyleSheetInherited>false</IsStyleSheetInherited> <IsTemplateInherited>true</IsTemplateInherited> <TemplateInheritedFrom>0</TemplateInheritedFrom> <ApprovalMethod>0</ApprovalMethod> <ApprovalType>NotForceAll</ApprovalType> <MetaInheritedFrom>0</MetaInheritedFrom> <IsMetaInherited>true</IsMetaInherited> <HasChildren>true</HasChildren> <PublishPdfActive>false</PublishPdfActive> -<Permissions>
<Id>0</Id>
<CanApprove>false</CanApprove>
<CanAdd>false</CanAdd>
<CanEdit>false</CanEdit>
<CanDelete>false</CanDelete>
<CanRestore>false</CanRestore>
<CanAddToImageLib>false</CanAddToImageLib>
<CanAddToFileLib>false</CanAddToFileLib>
<CanOverwriteLib>false</CanOverwriteLib>
<CanAddToHyperlinkLib>false</CanAddToHyperlinkLib>
<CanAddToQuicklinkLib>false</CanAddToQuicklinkLib>
<CanAddFolders>false</CanAddFolders>
<CanEditFolders>false</CanEditFolders>
<CanDeleteFolders>false</CanDeleteFolders>
<CanTraverseFolders>true</CanTraverseFolders>
<CanCreateTask>false</CanCreateTask>
<CanRedirectTask>false</CanRedirectTask>
<CanDestructTask>false</CanDestructTask>
<IsReadOnly>true</IsReadOnly>
<IsCollections>false</IsCollections>
<IsAdmin>false</IsAdmin>
<IsLoggedIn>false</IsLoggedIn>
<IsInMemberShip>false</IsInMemberShip>
<IsReadOnlyLib>true</IsReadOnlyLib>
<CanHistory>false</CanHistory>
<CanPublish>false</CanPublish>
<CanAddTask>false</CanAddTask>
<CanBreakPending>false</CanBreakPending>
<CanView>false</CanView>
<CanEditSummary>false</CanEditSummary>
<CanSeeProperty>false</CanSeeProperty>
<CanPreview>false</CanPreview>
<CanDecline>false</CanDecline>
<CanEditSumit>false</CanEditSumit>
<CanEditCollections>false</CanEditCollections>
<CanDeleteTask>false</CanDeleteTask>
<CanMetadataComplete>false</CanMetadataComplete>
<CanEditProperties>false</CanEditProperties>
<CanEditApprovals>false</CanEditApprovals>
<CanEditQLinks>false</CanEditQLinks>
</Permissions> <TotalContent>0</TotalContent> <IsDomainFolder>false</IsDomainFolder> <DomainStaging/> <DomainProduction/> <FolderType>0</FolderType> <Type>Content</Type> <IsSitemapInherited>true</IsSitemapInherited> <BreadCrumbPath/> <IsCommunityFolder>false</IsCommunityFolder> <IsTaxonomyInherited>true</IsTaxonomyInherited> <AliasInheritedFrom>0</AliasInheritedFrom> <IsAliasInherited>true</IsAliasInherited> <AliasRequired>false</AliasRequired> <FlagInheritedFrom>0</FlagInheritedFrom> <IsFlagInherited>true</IsFlagInherited> <IsCategoryRequired>false</IsCategoryRequired> <IsContentSearchableInheritedFrom>0</IsContentSearchableInheritedFrom> <IsContentSearchableInherited>true</IsContentSearchableInherited> <IscontentSearchable>false</IscontentSearchable> <DisplaySettings>0</DisplaySettings> <DisplaySettingsInheritedFrom>0</DisplaySettingsInheritedFrom> <IsDisplaySettingsInherited>false</IsDisplaySettingsInherited>
</FolderData> –
</ArrayOfFolderData>
The content can be updated with the translated data by using the ContentManager Framework API class.
Image4-CT
Google Translator Widget:

  • Widget UI:

The widget UI contains the following elements,
A TreeView Server control which enable the user to pick the content from workarea.
Two dropdownlists to choose the Source Language and language to which the content needs to be translated.
A “Translate Content” button which will do the Translation.
editor-using-google-translator

  • Code Snippets:

A content tree can be generated with the above code.
The content translation can be done by means of Google APIs Client Library for .NET.
As Google has shut it’s free Translation Service completely from Dec 01,2011,We need to make use of the new Translation API V2,which is a paid version. The translation of the Content can be made by making an Ajax call to the Google Translate API along with parameters like source language, target language, Valid API key, text which needs translation.
The JavaScript function used for this is as follows:
Image5 CT Jscript
And the translated text is updated to the content programmatically.
 

Content Management SystemEktron CMS
0 comment
0
FacebookTwitterLinkedinTumblr
previous post
SQL Injection – prevention methods in Yii Framework
next post
DeSerialization of Smartform Contents in Ektron

You may also like

Leverage AI to Take your Business to the...

May 17, 2022

Global Capability Centers enable accelerated adoption of technology

May 9, 2022

Best Practices to Get Salesforce Implementation Right the...

April 21, 2022

How to manage legacy systems (Upgrade, Replace, Rebuild)?

April 20, 2022

Tackle Duplication Challenges in Salesforce Effectively

March 24, 2022

What are the Key Takeaways of Salesforce DevOps...

March 22, 2022

Derive Greater Value through Better Hybrid Cloud Management

March 15, 2022

How DevOps can Help Salesforce Develop and Deploy...

March 7, 2022

Six trends that Salesforce has for your enterprise...

February 22, 2022

Harnessing the Power of Cloud Continuum for Your...

February 22, 2022

Leave a Comment Cancel Reply

Save my name, email, and website in this browser for the next time I comment.

Keep in touch

Twitter Linkedin Facebook Pinterest

Recent Posts

  • Leverage AI to Take your Business to the Next Level

    May 17, 2022
  • Global Capability Centers enable accelerated adoption of technology

    May 9, 2022
  • Best Practices to Get Salesforce Implementation Right the Very First Time

    April 21, 2022

Categories

  • Twitter
  • Linkedin
  • Facebook
  • Instagram
  • Platforms
    • CRM
      • Salesforce
      • Dynamics
    • CMS
      • Sitecore
      • Drupal
      • Episerver
      • Sitefinity
    • Ecom
      • Magento
      • Sitecore commerce
    • RPA
      • UiPath
    • Analytics
    • Martech
  • Services
    • CX Consulting
    • DSaaS
    • Product Engineering
  • Fluid Solutions
    • Buyer Rhythms Engine
    • Lead Prioritization
    • Customer LifeTime Value
    • Chatbot
    • Account Based Marketing
    • Online Proctoring Solution
  • Intel
    • Blog
    • eBooks
    • Webinars
    • Case Studies
  • About Us
    • Management Team
    • Advisory Board
    • Our Story
    • Testimonials
  • Careers

© 2022 Suyati Technologies


Back To Top
Suyati Technologies

Popular Posts

  • MongoDB vs. Couchbase

    May 26, 2013
  • 2

    What is Salesforce CRM and What Does it Do?

    February 19, 2014
  • 3

    A step-by-step guide to configuring emails in MS Dynamics CRM

    April 27, 2017
  • 4

    Top 10 ETL Tools for Salesforce Data Migration 2021

    January 4, 2021
  • 5

    What are the Top 3 risks for implementing a CX Program?

    August 30, 2019
© 2022 Suyati Technologies

Read alsox

How Cloud enables Businesses to Survive and thrive during the...

May 26, 2020

Merge Pdfs Using iTextSharp, C#

December 2, 2010

How Sitecore puts customer experience at the heart of digital...

July 27, 2019
Suyati Logo

Leaving So Soon?

Know more about business technology platforms for your enterprise.

Thank you!

We're glad to have you as part of our community. You'll start receiving updates shortly. Please feel free to contact us anytime with feedback or suggestions.

By continuing to use this website you agree with our use of cookies. Read More Agree