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 that do not have any QA check errors

We’ll handle the strings that do have QA check errors later. These should be manually reviewed since many of these QA checks will be legitimate issues.


3. 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 without QA errors.


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 Likes

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

This doesn’t work for me:

3. Approve everything in the current selection

  1. There is a check box to select all items on screen
  2. When you select said box, it asks you “do you want to select ALL items in the current filter”
  3. YES! I definitely want that! I do not want to browser thru 4000/50 pages of strings that are ok to go!
  4. Then approve all….

It starts doing something, percents done increases, reaches 100% - stops working, and nothing was done
Reloading the page will show the exact same strings as before.

Also tried with just one string and just a few strings.

This seems pretty much broken?
Is there some forum or so to reach out to the makers of the tool to get some help on it?

Edit:
It seems somehow it processed some strings during some background process but since then it does not seem to proceed
Will check in a few hours, maybe it needs more time?

Edit 2:
Something is definitely wrong here.
It says in my user I translated 0 strings but in fact I did translate over 100 a and approved some 4000

Yet in the activaty of the project it counts it correctly

1 Like

I think I found the issue:

Looks like I missed a step here!

In order for those strings to disappear from your current view, you need to also use this filter:

Otherwise, instead of the strings disappearing, you should see their little “badge” change from TODO to DONE (note the difference in these two strings):

Approving a lot of strings at once does seem to be a bit slow but it worked for me in both of these modes (with the “Workflow step” filter enabled or disabled).

As for this issue, my guess is that it will be updated after some number of hours via a background job on their end.

Aha.
That solves it.

Thanks!

As for the user profile > amount of things done, I think it is broken.
Check your profile - surely after 2 years they should show the stuff you translated/approved

1 Like

@anon66243189
I’m at proofreading now. All item with or without QA problems already approved, except for the spellcheck error. There are 1488 items with spelling issues, maybe crowdin can not find those words.

Here is some screenshot with the error. I can click to the problematic word, to ignore it. but It seem it’s not the correct way fix the problem.

image

is there any way to get all of problematic words list and tell the system that the word is correct one ?

crowdin have glossary feature, but it only for project manager. So, here is some of my thoughts :
a. download glossary from wordpress.org, inspect the words one by one, then upload that as glossary for indonesian.
b. after upload the glossary, if spelling issues exists, the we need a way at crowdin that list all problematic words, then we can inspect it one by one, and then include the word in glossary.

step b is just a feature to suggest and add words in the glossary

2 Likes

Yes, this is fine. Crowdin will remember the words you ignore. More information: Quality Assurance Checks | Crowdin Documentation

is there any difference between putting a word in the ignore list and in the glossary ?

from that page:

If your project contains some uncommon words that are not recognized by the Spell checker, you can add them to the Ignore list to exclude them from being checked.

the word i mention are common words, used by lots of sentence.

Yes, there is a pretty big difference. Did you read the documentation for the glossary? The glossary is a separate and more advanced feature which is meant to ensure that we always use the same translation for a technical term like “Post”.

They wrote “uncommon words” in the documentation, but if their spell checker is not recognizing common words in Indonesian then of course that is wrong. The ignore list for the spell checker is still the correct feature to use if “regular” Indonesian words are not being recognized.

Anyway this is getting a bit off topic for this thread. The first step in getting any language ready for production should be to get the number of “QA check” errors down to zero and approve all existing strings. Only after that should new translations be added. You did things in the reverse order for Indonesian which means that we have no way of reviewing the new translations you added.