• Documentation
  • Translation Checks
  • Setting Translation Checks

Setting Translation Checks

Translations missing key elements such as a variable or link could potentially break your website or app. To help prevent this, Transifex automatically checks every translation against a set of conditions. Whenever a condition is not met, e.g. an HTML element is missing, the translator will be shown either a warning or error message telling them what needs to be fixed. Translators can still save a translation when there's a warning. But if there's an error, they'll need to address the issue before they'll be able to save the translation.

Configuring translation checks

Each file format has a set of translation checks on by default. You can change whether a failed check results in an error or warning, or turn off a check altogether. You need to have an administrator role in order to perform the following changes.

To customize translation checks:

  • Go to your Organization Settings from the main navigation.

  • Click on Translation Checks in the left menu.translation-checks-overview.png#asset:80

  • Click on a file format to see the checks available for that file format.

  • Click on the toggles next to each rule to change whether a check should show a warning, error message, or be off.


  • Hit Save to confirm the changes.

You can always restore the translation check settings by clicking the Set to default checks next to the Save button.

The file format for Transifex Live projects is "Transifex Format (.json) checks".

Checking for custom variables

If you use custom variables in your code, you can set up custom translation checks and make sure they are left untouched in the translation. This is done by adding a custom check for a file format, and specifying either the characters your custom variables start and end with or the exact characters your variables consist of.

To do this:

  • Head to the Translation Checks settings page.

  • Click on the file format you want to add custom checks for.

  • Click Set up custom placeholders.

  • In the popup:

    • if you provide a start and end value, then the system will try to detect text which starts and ends with the specified words. So, in order to protect variables like {address}, %email%, [username] etc. during the translation process, you will just need to complete the fields "Starts with" and "Ends with" as shown below: 


    • if you want the system to look for exact matches instead (e.g. %ld, %temperature), then you can enter the variable in the "Enter a custom variable" field including all the characters the variable consists of.
  • Click Add placeholder so as to finish adding this check. You can add more if you like by creating more placeholders.



When adding multiple placeholder delimiters, keep in mind that the delimiters are executed in the order they are added.

In the following example both placeholders will be executed. However if the order was reversed then only the first expression would be executed.

Macaque in the trees

Like the default checks, you can change whether a failed check results in an error or warning, or turn it off all together.

Translation checks based on regular expressions

With custom translation checks, you, as an organization administrator, can add your own regular expressions and ensure that nothing will break your website or application due to an invalid translation.

These checks can be created per file format as follows:

  • Click on the file format where you want to create your custom translation check
  • Click 'Add a translation check' at the bottom of the checks list
  • Provide a description for the check you want to create - This message will be displayed in the editor every time your rule is violated
  • Add your custom regular expression
  • Define where the custom translation check will be applied i.e. Translations only (the translation check will fail if there is a match) or Translations, and source strings (the translation check will fail if the matches found in the source string are different than the matches found in the translation). In case of the latter, you also have the option to enable the setting "Respect the matching order" which ensures that the order in source is preserved in the translation text
  • Test the regular expression you created before saving your configuration
  • Define the status of the check (Error, Warning, Off)

- Custom translation checks is a feature available on Premium and Enterprise plans

- The regular expression has a maximum timeout of 100ms

- Whenever an existing custom translation check is updated, the updated check is triggered only for newly submitted translations automatically. To trigger the updated check for existing translations as well, then run on-demand translation checks

Use Cases - Examples

Description: Match Quotes

Regex: \"|\'

The setup will look like this:


Your regex expression can easily be tested using the test area.

Message returned when translation check fails:


Message returned when translation check is successful:


More examples can be found below:

Description: Special characters (excluding whitespaces)

Regex: [^a-zA-Z0-9\s]


Description: Space after img URL

Regex: img=\s


Description: Spaces, tabs, or newline at end of a string

Regex: [\s\t\n]+$


Description: Find whitespace at the end or beginning of a string

Regex: ^\s+|\s$


Description: Find multiple whitespaces

Regex: \s{2,}


Description: Placeholders that start and end with % (no whitespace in between)

Regex: %(?!%)(?!%)\S+?%

On-demand translation checks

On-demand translation checks can be found under the settings page of your Transifex project. This feature allows you to run translation checks on translation strings that have already been submitted.

In order to run translation checks on demand, you need to:

  1. Visit the Settings page of your project in Transifex
  2. Click on the Workflow tab
  3. Scroll down to the "Quality Assurance" section
  4. Click on the highlighted text "Check now" as shown below:


5. After that, the system will start running translation checks on the existing translations.


When the task is completed, an email notification will be sent to the user who performed this action (admins, maintainers) where a detailed report will be included: