All Collections
Setting Up Machine Translation
Setting Up Machine Translation

Link your Google Translate, Microsoft Translator, Amazon Translate or KantanMT account with Transifex to machine translate your content.

Nina avatar
Written by Nina
Updated over a week ago

While Machine Translation (MT) is generally not a recommended standalone translation method, it's useful in many cases, for example, if you have a lot of non-customer-facing content or want to translate something in conjunction with human post-edit.

Transifex supports:

You'll need to have an account with your chosen service(s) before you can use it for machine translation in Transifex. You might need a subscription, depending on which service(s) you choose and how many words you're translating.

📝Note: When setting up an IAM user to use Amazon Translate with Transifex, the minimum permissions required are TranslateReadOnly.

Machine Translation on an Organization Level

To set up machine translation for your whole organization:

  1. Head to your Organization Settings from the main navigation.

  2. On the left menu, click on Machine Translation.

  3. Click on “Add a Machine Translation Service”.

  4. In the form that is displayed, select one of the available services:

    1. Amazon Translate

    2. DeepL

    3. Google Translate

    4. KantanMT

    5. Microsoft Translator Text API

  5. Configuration may vary depending on the service you select:

    1. If you want to use Microsoft Translator, choose Microsoft Translator Text API (latest) and add your subscription key. Also, while setting this up in Azure, set your 'Location/Region' to "Global".

    2. If you chose Google Translate, add your API key.

    3. If you chose KantanMT, add your API key and engine alias (check here for more details).

    4. If you chose DeepL, you must add your API key and set whether the translated text should lean towards formal or informal language. Optionally, you can enable the "Apply the default formality on translations for non-supported languages" option. By enabling this option, languages not supported in the selected DeepL Formality will be translated using the default formality; if this option is disabled, these languages will remain untranslated.

      This functionality is described in DeepL Documentation here.

      For DeepL and when the mode is set to ‘Plain Text’, strings that include placeholders display the following behavior: To ensure that placeholders are preserved in the translation, spaces are intentionally introduced before and after them. To avoid this from happening, we suggest setting DeepL mode to ‘HTML’.

  6. Choose Machine Translation Mode: HTML or plain text.

    1. HTML mode

      Transifex leverages most of the different MT services' capability to detect and keep HTML tags; Transifex protects only the variables and custom placeholders. Current known MT service hiccups include conversions of special characters to their HTML entity counterparts. (ex., a single quote character could become a ' in the translation).

    2. Plain text mode

      Transifex is trying to protect all HTML tags, variables, and custom placeholders feeding strings as simple text to Machine Translation services. Current known MT service hiccups include:

      1. Extra symbols (ex. 0x5a4d6e521).

      2. Translations missing part of a sentence found in the source, thus altering its meaning.

      3. Missing HTML tags, variables, and custom placeholders as the MT service mishandles them.

  7. You can use the selected Machine Translation service only for specific target languages by clicking on “Use this Machine Translation service only for specific languages” and selecting the set of languages you want to use the chosen service. If you don’t select specific languages, this service will be used as the Default for all target languages.

  8. By clicking “Add another Machine Translation service”, you can create a new configuration (Machine Translation service, Formality, Machine Translation Mode, etc.) and, of course, different target languages in which you want this configuration to be applied.

    You can remove a Machine Translation configuration by clicking “Remove MT Service” displayed after hovering over the desired service.

  9. When you are done setting the desired Machine Translation service(s), click on “Save changes”


  • Suppose you have set up an MT service with no specific languages selected (Default). In that case, this service will be applied to all the languages not explicitly configured in a different MT service.

    Example: Let's say you have configured DeepL to be applied only to French and German.

    • If you don’t configure any other MT service, all other languages (except French and German) will not be machine-translated.

    • Suppose you configure a different MT service (e.g., Google Translate) with no specific languages selected. In that case, Google MT will be used as default, and all languages (except for French and German) will go through this MT service instead.

  • Machine Translation services usually provide only one translation variant for a given language. Therefore, any similar locales in Transifex are translated by the Machine Translation service's sole translation language.

    For example, Portuguese has five locales (pt, pt_PT, pt_AO, pt_BR, pt_MZ); however, MT services will translate all of them as "pt".

  • Selecting a main language for a Machine Translation service doesn’t mean all its locales will also be sent to this service.

    If, for example, you select “pt” for DeepL and your project contains “pt_BR”, strings in this locale will not be machine-translated unless you explicitly specify that you also want pt_BR to go through DeepL.

  • In case you need to use a different machine translation key for a specific project, please take a look at the section below.

Machine Translation on a Project Level

In Transifex, you can go into a project and override any machine translation settings you may have set for your organization. For example, you could set up Google Translate for your organization and then use Microsoft Translator for just one project. Or you can use one API key for your organization and a different one for a specific project.

To set up machine translation for a specific project:

  • Select the project from the project navigation in the Dashboard.

  • Click on Settings.

  • In the Project Actions section on the right, click on Override organization's Machine Translation settings. A modal will open where you can edit your Machine Translation settings.


  • Select the machine translation service you want to use.

  • If you chose Google Translate, add your API key. If you chose Microsoft Translator Text API (latest), add your subscription key; also, while setting this up in Azure (Microsoft's cloud), make sure to select a 'Location/Region' of "Global". If you chose Microsoft Translator (deprecated), add your Client ID and Client secret. If you choose KantanMT, add your API key and engine alias.

  • Click the Save Changes button.

Enabling Automatic Machine Translation

📝Note: Automatic Machine Translation is available on the Premium plan and up as part of our Advanced Workflows feature.

If you have a translation workflow that always starts with Machine Translation, Automatic Machine Translation can save you from manually starting MT. Automatic MT will run whenever you add new content or update existing content to a project.

To enable automatic Machine Translation:

  1. From the Dashboard, select the project for which you want to enable Automatic Machine Translation.

  2. Click on Settings.

  3. In the submenu, click on Workflow.

  4. In the Pre-translation step, enable the Machine Translation Fill-up option.

  5. You have the option to exclude languages from Machine Translation Fill-up if you want to by enabling the option "Exclude languages from Machine Translation Fillup" as shown below:


    Once you enable the setting, a list with all the project's target languages will be available for selection.

  6. Click the Save Changes button.

📝 Note: Please remember that Google Machine translation has limits regarding the recommended maximum length for each request, which is 5K characters. More information can be found here.

All four MT providers we are integrated with have their limitations in supporting variables/placeholders during the translation process. However, we have streamlined this process to the best of our ability, resulting in 99.82% of translations with variables being accurately returned.

Identifying Strings Translated by Machine Translation

There are two ways to know how many words were translated by MT.

Filter in Editor

You can identify the strings that MT translated in your resource files by applying the following filter:

More > Origin > MT: <Provider Name>


Then, you can mass-select all filtered strings and see the word count.


You can see the number of words translated by MT service on the Reports page.


Machine Translation & Translation Memory Fill-up

  • If TM Fill-up is enabled for a project, 100% Translation Memory matches will be used before Machine Translation runs.

  • Automatically machine-translated strings don't go into your Translation Memory until marked as reviewed. The same is true for strings that were machine-translated in bulk.

  • Suppose you add new project languages or enable Automatic Machine Translation and TM Fill-up after uploading/updating files. In that case, you'll need to trigger MT and fill up from TM manually. You can do this by clicking the Enable fill-up button in your project settings' Fill-up on-demand section in the Workflow tab.


Through Transifex-DeepL integration, you can now set whether the translated text should lean towards formal or informal language.

This feature currently only works for target languages "DE" (German), "FR" (French), "IT" (Italian), "ES" (Spanish), "NL" (Dutch), "PL" (Polish), "PT-PT", "PT-BR" (Portuguese) and "RU" (Russian). Possible options are:

  • "more" - for a more formal language

  • "less" - for a more informal language

Formality settings can be found under Organization settings -> Machine Translation.



Looking for more help? Get support from our Transifex Community Forum!

Find answers or post to get help from Transifex Support and our Community.

Did this answer your question?