Was this article helpful?
Thanks for your feedback
While Contentstack does not offer translation services, it offers easy integration with third-party translation providers. In this guide, we will learn how to set up a translation system using Contentstack's webhook and workflows along with AWS Lambda and AWS Translate.
Additional Resource: You can also set up a translation system using Memsource, read our guide on how to Set up Translation System with Contentstack Webhooks, Memsource, and AWS Lambda.
Here's a quick overview of the process: When the workflow stage of entry in the master locale changes to “Send to Translation,” a webhook is triggered, which invokes an AWS Lambda code. This code translates content using AWS Translate and then localizes the entry with the translated content using a Content Management API request. This also changes the workflow stage status of the entry to “Review Translation.”
Here are the steps to set up this translation solution:
First, create a stack, and add a content type (in our example it is Product), add entries to it, at least one additional language, and a publishing environment.
Once you have these configured, then you're ready to begin the integration process for translation.
For this exercise we have created a content type with the following structure:
To set up workflows for the translation process within Contentstack, follow the below steps:
Note: For European region, the baseURL should be changed to https://eu-api.contentstack.com from https://api.contentstack.io.
You will get the following response:Perform the following steps to set up your AWS Lambda function:
Note: You can use any language instead of Node.js. You can also add triggers to your lambda to push an event to SNS when the lambda is invoked.
Once you do this setup, AWS Lambda will run the code that we have uploaded and translate the English content into French and will deliver the translated content to your content type. The workflow stage of the translated entry also changes to Ready for Review.
We will now set up a webhook that triggers when the entry workflow stage is set to Send to Translation. To do this, log in to your Contentstack account and perform the following steps:
Note: The role and role_name headers are optional. That is, they are required only when you are assigning the translation to be reviewed by any member of the stack. Only “workflow_stage_uid” is mandatory which we got through Postman.
This will configure your webhook to trigger on a workflow stage change such as “Send to Translation,” like in the above workflow example. As soon as the webhook is triggered, it notifies the specified URL about the event along with a JSON payload.
Additional Resource: Though we don't provide translation, we do provide the ability to integrate with third-party translation providers that will translate content for you. All you need to do is make use of Contentstack workflows and set up a webhook trigger to initiate the translation process. Use any popular translation tool, such as Worldserver and iLangl, to translate your content. Here's our Manage Content Translation in Contentstack guide that gives a detailed explanation of how you can do all of this.
Was this article helpful?
Thanks for your feedback