Broken HTML Entities

The HTML entities must be written as &name;, &#DDDD; or &#xHHHH; (where 'name' is a valid entity name, and 'DDDD' and 'HHHH' are the Unicode symbol numbers in decimal or hexadecimal formats respectively).

Common mistakes:

Java format

Java format placeholder strings usually look like: {0}, {1,number}, {2,number,#.##}. When you see such placeholders in source strings, please make sure to keep them unmodified in he target ones. You are allowed to change the ordering of multiple placeholders to better suit your translation. For the curious, please see the detailed documentation on Java MessageFormat syntax.

Common mistakes:

Template format

These are placeholders of the following format: ${fullName}, ${pendingUserEmail}, ${if:accountManagerExists}. When you see such placeholders in source strings, please make sure to keep them unmodified in he target ones. You are allowed to change the ordering of multiple placeholders to better suit your translation.

Common mistakes:

Mustache placeholders

These are the tags with curly braces like: {% verbatim %}{{{pointsUrl}}}{% endverbatim %}, {% verbatim %}{{originalRecipients}}{% endverbatim %}. Please do not modify the text inside such braces and make sure the number of braces in the target string matches the original one.

Common mistakes:

Mustache placeholder pairs

These are the tags with curly braces like: {% verbatim %}{{#getStrongTag}}{{{appName}}}{{/getStrongTag}}{% endverbatim %}. Please do not modify the text inside such braces, make sure the number of braces in the target string matches the original one and keep in mind that opening tags like {% verbatim %}{{#tagname}}{% endverbatim %} must precede their closing counterparts, {% verbatim %}{{/tagname}}{% endverbatim %}.

The easiest way to avoid mistakes is to copy the English text to the target string.

Mustache like placeholder pairs

These are the tags with curly braces like: {% verbatim %}{{getStrongTag}}{{{appName}}}{{/getStrongTag}}{% endverbatim %}. Please do not modify the text inside such braces, make sure the number of braces in the target string matches the original one and keep in mind that opening tags like {% verbatim %}{{tagname}}{% endverbatim %} must precede their closing counterparts, {% verbatim %}{{/tagname}}{% endverbatim %}.

The easiest way to avoid mistakes is to copy the English text to the target string.

C format placeholders

These are placeholders like %s, %d, %.2f, %x.

Such placeholders must not be modified and must be present in translation.

Non printable

This check serves to detect internal symbols in the translations. Please make sure you didn't copy anything from the application that can generate the code with such symbols.

Unbalanced tag braces

Please keep in mind that the number of opening and closing braces in source and target strings should always match. Here are a few common tags: <strong>(</strong>), <em>(</em>), <span>(</span>), etc.

Common mistakes:

Changed attributes

Please keep in mind that the attributes of the following tags in source and target strings should always match: <span>, <a href>.

Unescaped ampersands

All standalone & symbols need to be escaped as &amp; Here are examples of valid use of ampersands in named HTML entities: &quot;, &gt;, &mdash;, etc.

Please avoid either replacing the code that stands for quotation marks (&quot;) or dashes (&mdash;) with the marks themselves (", —) or omitting them in your translation.

Common mistakes:

Whitespaces

This check compares the number of leading and trailing whitespaces and newlines in source and target strings. Make sure the translation has the same number of leading or trailing spaces and/or newlines as the original, otherwise this may result in rendering problems in the UI of our software clients.

Date format

Checks whether date formats are consistent between the two strings. Here are the examples: MM/yyyy, hh:mm a, EEEE, MMMM d yyyy, etc. Please see SimpleFormat documentation for more information, and use this online datetime format validation tool to test your patterns.

Common mistakes:

You are allowed to change the ordering of multiple parameters to meet your region's standards (e.g. EEEE, dd MMMM yyyy, hh:mm, dd MMMM yyyy, EEEE, hh:mm, yyyy MMMM dd, EEEE, hh:mm).

Uppercase placeholders

Checks whether uppercase placeholders are consistent between the two strings. Examples: SYMBOLS_NUMBER, HKEY_CURRENT_USER.

Common mistakes:

Percent sign placeholders

Example: %some_text

Common mistakes:

Percent sign closure placeholders

Here are some examples of such placeholders: %%Edit%%, %%Notebook%%, %%Taglist%%.

Common mistakes:

Also please make sure the number of percent signs in your translation matches the one in the source string.

$ placeholders

These are the placeholders like $tag, $bar2, $3.

All of these must not be translated and must be present in translation.

$ closure placeholders

Example: $num$

Common mistakes:

Java-encoded unicode

Here are a couple of examples: \u2011, \u00AE.

Please make sure to keep such elements unmodified. The easiest way is to copy them from the source string.

Objective-C format

These are variables of the following format: %@, %1$@, '%1$i','%1$i' etc.

Please make sure not to modify such variables in your translations. They should be exactly the same as in the source. Do not replace any characters inside a variable, do not change the quotes format.

Android format

These are the placeholders like %1$s, %2$ld.

Here all symbols after $ are special ones and must not be changed.

Accelerators

These are words containing ampersands (&) or underscores (_). Ampersands and underscores stand before letter that are used as hot keys on your keyboard that you can press to quickly access a menu or function.

Please do not omit them in your translation. Try to keep it similar to the English, look at the examples below:

Curly braces

The number of opening and closing braces ({ and }) must match.

Double quotes in tags

This check counts the number of double quotation marks (") inside XML/HTML tags (<...>) in source and translated phrases. If the number doesn't match, you'll see the respective error. Check up for missing or unnecessary double quotation marks inside XML/HTML tags in the translated string.

Common mistakes:

Doublequoting

This check compares total amount of double quote marks in the original and translated string. If the number of double quotation marks in source and translation is the same in any part of the string (not just in tags), you'll see the notification. This is a non-critical check.

Potential unwanted placeholders

This error is displayed if the translated string contains more symbols "@", "_", "$", or "%" than the source string.

Example:

Percent brace placeholders

Example: %{placeholder}

Common mistakes:

Tags differ

This check compares number of tags in the source string and the translated string, plus the text contained in tags.

Example: <font face="courier" size=+3>Sponsored Group Service Signup</font>.

Common mistakes:

Generally, it's a good idea to copy the source string to translation field and translate it leaving tags not modified.

Incorrectly escaped ampersands

You'll see this error if ampersand sign from the source string is replaced with corresponding HTML entity in the translation.

Example: Articles & Guides

Common mistake:

Plurr format

When using Plurr-formatted strings, this check ensures strings contain no syntax errors. This can typically happen when missing out on closing braces or adding extra braces.