Approving and cleaning existing strings on Crowdin

In this tutorial I’ll cover how to approve existing strings in Crowdin. This thread is a follow-up to POEditor vs. GlotPress and today’s i18n meeting in Slack.

The goal of this process is to get all of our existing translations marked as “Approved”, and at the same time, take advantage of Crowdin’s error checking to make some improvements to the translations.

It’s a good idea to do this process before opening each language to community contributions, since that way we can “Approve” strings that are translated by newer contributors separately. Right now, almost all of our strings are “awaiting approval”, so we wouldn’t be able to tell the difference between existing and new translations.

1. Enter proofreading mode

Pick a language, and under “Proofreading” click “Go to editor”. Let’s use Portuguese for this example:

2. Filter strings to “Not Approved”

I’m not sure what the difference is between the “Waiting for Approval” and “Not Approved” filters. However this seems to work, and it’s a good idea to make sure you’re filtering to the set of strings that you expect.

You’ll also want to make sure that you have the “Workflow step status” filter disabled (set to “Show All”):

3. Select all unapproved strings

(You can ignore the tiny checkboxes, this is an artifact of my Linux system and it shouldn’t look like this for you.)

4. Approve everything in the current selection

This takes a little while to process. At the end, all of the strings should disappear from your current view, since there are currently no “unapproved” strings.

This approved all strings, including those with errors. Since there’s no way to filter to only strings without errors, unfortunately, we’ll need to do this in multiple steps.

For languages where we don’t currently have a fluent speaker in our community, we may want to stop here and leave all current translations as “approved”.

Next we’ll unapprove strings that have errors for manual review.

5. Select all strings with QA errors

6. Remove approval from selected strings

Now that all strings with errors are selected, we can “unapprove” them:

Now we have a bunch of strings that Crowdin did not mark with any errors, these are approved. There are also a bunch that have some errors, which are ready for manual review.

The project dashboard should look like this now, with approved strings in the green bar, and strings that are still awaiting manual review in the blue bar:

I’ve already completed the manual review of all strings with errors for Spanish. I’ll cover how to do this manual review in the next post.

1 Like

The first step in manually reviewing strings with errors is to filter to a specific error type.

Let’s start with “Spaces mismatch” since these are usually pretty easy to handle.

1. Set the filter to a specific error type

2. Review each translation

For the first translation in the list, the problem is minor but obvious:

Remove the space and you’ll be prompted to save that translation:

If you have the appropriate privileges as a proofreader, saving the translation will automatically mark it as approved:

Sometimes the Crowdin error check is wrong, and the string is really OK. In that case just click the checkbox button on the right to approve that string.

Repeat this for each string that has the current error type.

As you’re going through the translations you may spot some issues with the source strings in English. These need to be changed in the core code instead. You can report any such issues here:

3. Pick a different filter category

Using the same Filter menu from before, pick a different error type and follow the same process to review all strings. I’ve chosen “Filter > QA check > Spelling” here:

You may recognize that string from earlier, and it’s already marked as “Done” / “Approved”. Some of the same strings may have multiple error types. It looks like Crowdin doesn’t always show all of the errors at once when you are filtering this way. This isn’t ideal but it means that some strings with errors may be temporarily “approved” until all errors are reviewed.

Once this is done, you should have a green bar in the project dashboard for your chosen language, with no blue bar for “unapproved” strings. This language is now ready to accept contributions from anyone, and any new translations should show up as “unapproved” and ready to be reviewed using the same filters described above.


2 posts were split to a new topic: Adding new language? British English (en_GB)