Categories: Pontoon Tools Translation

Making it hard to break Firefox from Pontoon

When submitting a translation, Pontoon runs automated quality checks. They identify issues with punctuation, capitalization, variables, etc. before translations are saved, which prevents localizers from submitting bad translations. We just launched several improvements to the way quality checks work, so let’s have a look.

Using compare-locales checks in Pontoon

In addition to internal Pontoon checks and Translate Toolkit checks, Pontoon now also runs compare-locales checks. They are used when building Firefox, so it’s much harder now for localizers to break Firefox builds by submitting a bad translation through Pontoon.

Errors and warnings

There are two types of quality check failures now: errors and warnings.

Errors cover issues that would cause the translation to be unused in product, for example removed from Firefox builds or mozilla.org. For this reason, errors cannot be bypassed by localizers – the button to submit a translation is removed and the error needs to be fixed before the translation can be saved.

Errors are denoted with a red circled X

Errors are denoted with a red circled X.

Warnings, unlike errors, are displayed when we’re not completely sure that the string contains critical issues (false positives). For that reason, warnings can be bypassed by localizers – they can save a translation anyway.

Note: since Translate Toolkit checks may result in many false positives in some scenarios, they can be turned off using the Translate Toolkit Checks toggle (previously called Quality Checks).

Next steps

Thumbs up to Jotes for turning this long awaited feature into a reality! He’s already busy with the next step, which is storing information about the failed checks in a database. Once that’s in place, we’ll start performing quality checks during sync and finally present the information about errors and warnings on dashboards.

No comments yet

Post a comment

Leave a Reply

Your email address will not be published. Required fields are marked *