diff --git a/pootle/templates/help/_pootle_quality_checks.html b/pootle/templates/help/_pootle_quality_checks.html index 55d4761ec9..7fb9f19726 100644 --- a/pootle/templates/help/_pootle_quality_checks.html +++ b/pootle/templates/help/_pootle_quality_checks.html @@ -1,122 +1,121 @@
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).
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:
- 
— this one is missing the trailing semicolon. The correct one will be
.
+  
— this one is missing the trailing semicolon. The correct one will be
+
.
> ;
— this one has an extra space between the name and the semicolon. The correct one will be >
.
+ > ;
— this one has an extra space between the name and the semicolon. The correct one will
+ be >
.
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.
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:
-{0 number}
— this one is missing the comma. The correct one will be {0,number}
.
{0,numero}
— here the special word number is translated though it shouldn't be. The correct one is {0,number}
.
+ {0,numero}
— here the special word number is translated though it shouldn't be. The
+ correct one is {0,number}
.
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.
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:
-${Nombre completo}
— the text inside the braces is translated, you must leave the original one (${fullName}
).
+ ${Nombre completo}
— the text inside the braces is translated, you must leave the original one
+ (${fullName}
).
${BUSINESSNAME}
— here the case was changed from the original (${businessName}
), though it shouldn't. The easiest way is just to copy the English text to the target string.
+ ${BUSINESSNAME}
— here the case was changed from the original (${businessName}
),
+ though it shouldn't. The easiest way is just to copy the English text to the target string.
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.
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:
-{% verbatim %}{{/supportLink}{% endverbatim %}
— this tag is missing the trailing brace. Here is the correct one: {% verbatim %}{{/supportLink}}{% endverbatim %}
. You can simply copy these tags to your translation.
+ {% verbatim %}{{/supportLink}{% endverbatim %}
— this tag is missing the trailing brace. Here is
+ the correct one: {% verbatim %}{{/supportLink}}{% endverbatim %}
. You can simply copy these tags to
+ your translation.
{% verbatim %}{{# getDarkerFontTag}}{{originalRecipients}}{{/ getDarkerFontTag}}{% endverbatim %}
— here the spaces inside both opening and closing tags are unwanted. The correct string should look like this: {% verbatim %}{{#getDarkerFontTag}}{{originalRecipients}}{{/getDarkerFontTag}}{% endverbatim %}
.
+ {% verbatim %}{{# getDarkerFontTag}}{{originalRecipients}}{{/ getDarkerFontTag}}{% endverbatim %}
+ — here the spaces inside both opening and closing tags are unwanted. The correct string should look like this:
+ {% verbatim %}{{#getDarkerFontTag}}{{originalRecipients}}{{/getDarkerFontTag}}{% endverbatim %}
.
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 %}
.
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.
- -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 %}
.
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.
- -These are placeholders like %s
, %d
, %.2f
, %x
.
Such placeholders must not be modified and must be present in translation.
- -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.
- - +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. +
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.
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:
-<strong
— this tag is missing the trailing brace. Here is the correct one: </strong>
. You can simply copy these tags to your translation.
+ <strong
— this tag is missing the trailing brace. Here is the correct one:
+ </strong>
. You can simply copy these tags to your translation.
</strong></strong>
— an extra tag is added to the target string.
Please keep in mind that the attributes of the following tags in source and target strings should always match: <span>
, <a href>
.
Please keep in mind that the attributes of the following tags in source and target strings should always match:
+ <span>
, <a href>
.
+
All standalone & symbols need to be escaped as &
Here are examples of valid use of ampersands in named HTML entities: "
, >
, —
, etc.
Please avoid either replacing the code that stands for quotation marks ("
) or dashes (—
) with the marks themselves (", —) or omitting them in your translation.
All standalone & symbols need to be escaped as &
Here are examples of valid use of
+ ampersands in named HTML entities: "
, >
, —
, etc.
+
Please avoid either replacing the code that stands for quotation marks ("
) or dashes
+ (—
) with the marks themselves (", —) or omitting them in your translation.
+
Common mistakes:
-&
— should be &
.
@@ -125,53 +124,49 @@ Edit > Find > Save Search
— should be Edit > Find > Save Search
.
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.
- - +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. +
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.
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:
-MM/aaaa
— the 'year' part is localized here though it should be left in English (MM/yyyy
).
+ MM/aaaa
— the 'year' part is localized here though it should be left in English
+ (MM/yyyy
).
h mm
— this string is missing the colon, the correct is h:mm
.
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
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
Checks whether uppercase placeholders are consistent between the two strings. Examples: SYMBOLS_NUMBER
, HKEY_CURRENT_USER
.
Checks whether uppercase placeholders are consistent between the two strings. Examples: SYMBOLS_NUMBER
,
+ HKEY_CURRENT_USER
.
+
Common mistakes:
-SIMBOLOS_NUMEROS
— the placeholder is translated though it shouldn't be. The correct one is SYMBOLS_NUMBER
.
+ SIMBOLOS_NUMEROS
— the placeholder is translated though it shouldn't be. The correct one is
+ SYMBOLS_NUMBER
.
symbols_number
— make sure to use upper case.
Example: %some_text
Common mistakes:
-%какой-то_текст
— The placeholder is translated or modified though it shouldn't be.
@@ -183,39 +178,28 @@ % some_text
— A space added between the percent sign and the placeholder.
Here are some examples of such placeholders: %%Edit%%
, %%Notebook%%
, %%Taglist%%
.
Here are some examples of such placeholders: %%Edit%%
, %%Notebook%%
,
+ %%Taglist%%
.
+
Common mistakes:
-%%Modificat%%
— the placeholder is translated though it shouldn't be. The correct one is %%Edit%%
+ %%Modificat%%
— the placeholder is translated though it shouldn't be. The correct one is
+ %%Edit%%
%%Edit
— this one is missing trailing percent signs. Here is the correct one: %%Edit%%
+ %%Edit
— this one is missing trailing percent signs. Here is the correct one:
+ %%Edit%%
Also please make sure the number of percent signs in your translation matches the one in the source string.
- -These are the placeholders like $tag
, $bar2
, $3
.
All of these must not be translated and must be present in translation.
- -Example: $num$
Common mistakes:
-%num%
— Dollar sign is replaced with percent sign.
@@ -230,35 +214,25 @@ $some_other_text$
— The placeholder is modified.
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.
- -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.
- - +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. +
These are the placeholders like %1$s
, %2$ld
.
Here all symbols after $ are special ones and must not be changed.
- -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.
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:
-Note H&istory
is Stor&ico della Nota
in Italian.
@@ -267,40 +241,34 @@ View _Tags
is Ver E_tiquetas
in Portuguese.
The number of opening and closing braces ({
and }
) must match.
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.
- +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:
-<a href=http://evernote.com/contact/support/">
- there's a missing double quote mark before http.
+ Missing double quote mark: <a href=http://evernote.com/contact/support/">
- there's a missing
+ double quote mark before http.
<a href="http://evernote.com/contact/support/»>
- ending double quote mark is not in proper format.
+ Incorrect quote marks format: <a href="http://evernote.com/contact/support/»>
- ending double
+ quote mark is not in proper format.
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.
- - +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. +
This error is displayed if the translated string contains more symbols "@", "_", "$", or "%" than the source string.
- +This error is displayed if the translated string contains more symbols "@", "_", "$", + or "%" than the source string. +
Example:
-Quarterly Sales Meeting v5
@@ -309,14 +277,9 @@ Réunion_rapports_trimestriels_ventes v5
Example: %{placeholder}
Common mistakes:
-%placeholder
— Braces are missing
@@ -331,46 +294,115 @@ %{плейсхолдер}
— Placeholder is translated
This check compares number of tags in the source string and the translated string, plus the text contained in tags.
- +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:
-Sponsored Group Service Signup
— Tags are missing
<font ="courier" size=+3>Sponsored Group Service Signup</font>
— Text inside tags is modified
+ <font ="courier" size=+3>Sponsored Group Service Signup</font>
— Text
+ inside tags is modified
font face="courier" size=+3>Sponsored Group Service Signup</font
— Angle brackets are missing
+ font face="courier" size=+3>Sponsored Group Service Signup</font
— Angle brackets
+ are missing
Generally, it's a good idea to copy the source string to translation field and translate it leaving tags not modified.
- - +Generally, it's a good idea to copy the source string to translation field and translate it leaving tags not + modified. +
You'll see this error if ampersand sign from the source string is replaced with corresponding HTML entity in the translation.
- +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:
-Articles & Guides
— & sign is replaced with "&" in the translated string.
+ Articles & Guides
— & sign is replaced with "&" in the translated
+ string.
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.
+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. +
+Line break checks are implemented in order to deal better with multiline (plaintext) units that can be split into + multiple paragraphs. +
+Single line breaks
— check counts only single line breaks both in source and target, i.e.
+ LF
, and is triggered if counts don't match.
+ Example:
++ Evernote can help you ␊+
+ organize your life.
+ +
Common mistake: The number of single line breaks does not match the source.
++ Evernote can help you ␊+
+ organize your life.␊
+
+
Line break checks are implemented in order to deal better with multiline (plaintext) units that can be split into + multiple paragraphs. +
+Double line breaks
— check counts only double line breaks both in source and target, i.e.
+ LF LF
, and is triggered if counts don't match.
+ Example:
++ Evernote can help you ␊+
+ organize your life.
+
+
Common mistake: The number of double line breaks does not match the source.
++ Evernote can help you ␊+
+ organize your life.␊
+ ␊
+
+
Line break checks are implemented in order to deal better with multiline (plaintext) units that can be split into + multiple paragraphs. +
+Multiple line breaks
— this check counts instances of only 3 or more subsequent line breaks both
+ in source and target, and is triggered if counts don't match.
+ Example:
++ Evernote can help you ␊+
+ organize your life␊
+ ␊
+ by creating tasks␊
+ and setting reminders.
+
+
Common mistake: The number of multiple line breaks does not match the source.
++ Evernote can help you ␊\ No newline at end of file
+ organize your life␊
+ ␊
+ by creating tasks␊
+ and setting reminders.␊
+ ␊
+ ␊
+
+