Smartling
Smartling is an end-to-end cloud translation management software for customers looking to automate the translation of websites, applications, and customer experiences.
This integration is maintained by Smartling.
About the integration
The Braze Connector supports translations for messages in campaigns and Canvases (email, push, and in-app messages), email templates, and Content Blocks. Refer to the following table to learn about the supported channels and features when determining to use the new connector with multi-language support or legacy workflow.
| Channel/Feature | Traditional Editor (ex. HTML) | Drag-and-Drop Editor |
|---|---|---|
| ✅ | ✅ | |
| IAM | ✅ | ✅ |
| Push | ✅ | n/a |
| Email Template | Legacy workflow | Legacy workflow |
| Content Blocks | ✅* | ✅* |
*Refer to Managing translations for Content Blocks for more information.
Legacy workflow
Depending on your use case, manage translations for Content Blocks using either the legacy translation workflow or the updated workflow.
In the updated workflow, using Braze multi-language support and locales in messages, translation tags are added to the Content Block. However, Smartling executes translations at the message level. The content is translated only when the content is included in a Campaign or Canvas and the target locale is set. To learn more, see Managing translations for Content Blocks.
For email templates, only the legacy workflow is supported. To learn more, see Managing translations using the legacy workflow.
Prerequisites
| Requirement | Description |
|---|---|
| Smartling account | A Smartling account is required to take advantage of this partnership. |
| Smartling translation project | To connect your Braze account with Smartling, you must first sign in and create a translation project. |
| Braze REST API key | A Braze REST API key with the following permissions: - campaigns.translations.get - campaigns.translations.update - campaigns.list - campaigns.details - canvas.translations.get - canvas.translations.update - campaigns.details - templates.email.create - templates.email.update - templates.email.list - templates.email.info - templates.translations.get - templates.translations.update - content_blocks.info - content_blocks.list - content_blocks.create - content_blocks.update This can be created in the Braze dashboard from Settings > API Keys. |
| Braze REST endpoint | Your REST endpoint URL. Your endpoint depends on the Braze URL for your instance. |
| Braze Multi Language Settings | Complete Multi Language Settings in Braze |
Integration
Step 1: Set up multi-language settings in Braze
See Braze’s multi-language setup instructions for setting up locales in Braze.
Step 2: Set up the Braze project in Smartling TMS
Refer to the Smartling documentation for details on connector configuration.
Connecting Braze to Smartling
- In your Smartling account, create a Braze Connector project type.

- In this project, select Settings > Braze Settings > Connect to Braze.
- Complete the required fields, like API URL and API Key. If the test connection is successful, save the connection. If the test is not successful, confirm you entered the correct API URL and API Key.

- Add additional project languages.

- In Braze Settings, verify that the values in the Target Language (Braze) column match the locales configured in Braze multi-language settings. The locale naming convention must match exactly.

Step 3: Add translation tags to your Braze message
See Braze’s instructions on how to add translation tags to your messages:
Here is an example of a HTML email campaign with translation tags.

You must save the message as a draft before you can select locales.
Step 4: Manage translations in Smartling
After you connect and set up the Braze connector, find Braze content in the Braze tab in your Smartling project. For more information, see the Smartling documentation.
Smartling provides advanced features to search and select content by:
- Keyword search
- Braze content type
- Braze tagging
- In this example, the New Year promotion email campaign was created in Step 3.

- After you locate the campaign you want to translate, select the folder, choose the variants, and select Request Translation.

- Create a new job for the translation.

- After the job is authorized, edit each translation in the CAT tool.

- After the translations are complete, save and submit your translation to Braze.

Step 5: Preview the message as a multi-language user in Braze
In Braze, preview your campaign as a multi-language user to confirm that the translations are applied correctly.

Managing translations for Content Blocks
Content Blocks are managed under the Templates & Media section in Braze.
Translation stored as part of the message component
Translation tags belong on the Content Block. However, Smartling executes translations at the message level; the content is translated only when it’s included in a campaign or Canvas and the target locale is set.
Considerations
- Translation tags must be manually added to the Content Block for both HTML and drag-and-drop Content Block editors.
- Locales are selected at the message level, not on the Content Blocks themselves.
- For Canvas, we recommend using rows to insert Content Blocks into your message instead of manually adding them with a Liquid tag. Dragging a Content Block from the preview into an email makes a local copy; any changes to the “parent” Content Block do not propagate to other campaigns using that block.
- If you do use a Content Block Liquid tag, be sure to include at least one translation tag directly in the email body. Manually adding the translation tag allows you to select the locales from the multi-language dropdown. Smartling picks up the translation tags for the Content Block. You can add a
commenttag so the text is not visible to the user.
Managing translations using the legacy workflow
If you prefer to manage translations directly within a Content Block or email template, see the legacy instructions in Smartling’s documentation. This method uses a language attribute and Liquid if/else logic to display text in different languages.
Frequently asked questions
Are translation tags supported for the drag-and-drop editor?
For the drag-and-drop editor (email, Content Block, in-app message), you must manually add translation tags as Liquid tags.
How do you translate text within a Liquid tag?
Smartling recognizes Liquid tags and makes them uneditable variables in the composer. Any other text within the Liquid tag, such as default text or filters like join, also become uneditable in Smartling. However, remove the Liquid tag in Smartling and recreate the Liquid tag with the translated default text. A warning appears when saving the translation.
Edit this page on GitHub