Translated Content

This tutorial provides a high-level overview of using a third-party translation API service to add translated content to your Conversations application.


This tutorial assumes you are serving Conversations content from your data store rather than calling the API on each page request.


The recommended process involves queuing untranslated content from Conversations, translating that content via an external translation service, and then storing the completed translations for use in your application.

Completing the steps in this tutorial helps you solve the following localization issues:

  • I have high review coverage across my primary language sites, but I do not have enough reviews in secondary languages to impact conversion for my secondary sites.
  • I have eCommerce sites in smaller countries, but I can't get enough reviews in those languages to justify a ratings and reviews program.

Translate content

To translate Conversations content, create a service that:

  1. Creates a queue of new Conversations content relative to the last translation update.


The first time you run the service, create a task to queue all existing content in your database that you wish to translate.

On subsequent runs, create the queue of net new translations based on whatever existing service you use to request Conversations content at a regular interval and store it in a database that your application can access.

  1. Retrieves the content to translate from the database.
  2. Filters out content that has already been translated (this can be done in the first step depending on your system's architecture).
  3. Translates content using the translation service of your choice, such as Google Cloud Translation API, Amazon Translate, or a similar provider.
  4. Stores the completed translations in a database that your Conversations application can access.
  5. Deletes translated content when the corresponding original content is deleted.

Translation service architecture

The following image shows a simplified representation of the recommended translations architecture.

Display translated content

Complete the following steps to display translated content:

  1. Update your Ratings & Reviews display to retrieve and present the translated content.
  2. Badge translated content as automatically translated so that shoppers know the review was not written in their language.
  3. Ensure that translated content meets the same presentation requirements as untranslated content, such as badging incentivized reviews.
  4. Refer to your translation service’s attribution requirements for guidelines on how you must handle layout, attribution, and branding when using their service.
  5. (Optional, but recommended) Provide shoppers the capability to view content in the original language.


The following examples demonstrate common methods for displaying translated reviews:

  • Translated —Displays the translated review content with an attribution to the translation service and a link to view the review in the original language.

  • Original —Displays the original review content with a link to view the translation using an attributed translation service.

Display rating information for reviews pending translation

Bazaarvoice recommends including rating information from reviews awaiting translation in the average rating and review count. Doing this helps shoppers make purchasing decisions when few or no reviews are available in their

To provide rating information:

  1. Create a placeholder review in the localized display.
  2. Populate the placeholder review with the average rating and total number of reviews available across all languages.
  3. (Optional, but recommended) Provide shoppers the capability to view reviews in the original language.


Consider a product on a French site that has 40 untranslated English reviews and 5 French reviews. While you wait for translations of the English reviews, the display presents only the five French reviews. However, the display shows
the average rating based on all 45 reviews and lists 45 total reviews in its count. After the five French reviews, the display reads, "40 reviews available in a different language." Shoppers can click the link to view the available
English reviews if they so choose.

Handle locale-based product differences

This section lists strategies for handling common locale-based differences in your products.

Different product identifiers

Some product catalogs use different product identifiers or context data values for the same product across locales. To address this issue, create a dataset that maps the relationship between the identifiers you use to queue content for translation and the identifiers you want to associate with the translated content.

Exclude products from translation

There are times when translating content may not be appropriate. For example, when the localized version of the product has different ingredients, is designed differently, or manufactured using a different process. To address
this issue, create a dataset of product IDs that specifies which products require translation and which do not, and include it as a filter in your translation service.