Translator Badge

Can you add a Translator badge?
I’ve translated more than 2000 strings :slight_smile:

9 Likes

I would love to, but how do I figure this out automatically. Is there a transifex API we can use to get this information?

APIs do exist:

But I’ve asked them which one would suite our needs and she answered:

I’m afraid that we don’t have an API call for that. You can only use the requests that return some info of the translations like the translator name and then manually group the desired info on top of the translator.

Please can you work on this? We have a lot of translators on our Transifex and I’d like to award them using badges. Any hint?

Unfortunately the API doesn’t provide enough data in order to map translators to Discourse users and there’s currently no way to get data about who translated/reviewed what or how much.

Bad news I have a lot of amazing translators on Transifex for my product! Is there any chance to do something for them?

I think you should be able to do it manually per member.

Not ideal, but if there is currently no way to automate it I fear that is your only alternative.

1 Like

Right, but my goal is create badges on translation effort since be a translator isn’t enough

Sorry, I’m not understanding exactly what you mean by that, but I have been doing some experimenting.

There may be an easier way to do some steps, and the query may need to be improved, but this “works” as best as it does work I guess.

  • I created a Custom Group, I called it Translators
  • I added a member to it and Saved
  • I went to the member’s Profile JSON and got the custom_group id
  • I created a Badge, I called it Translator and gave it a bronze book under other using this query
SELECT u.id user_id, current_timestamp granted_at 
FROM users u 
JOIN group_users gu on u.id = gu.user_id 
WHERE gu.group_id = 42 
AND (:backfill OR u.id IN (:user_ids))

I then added a few more members to the group, then ran sidekiq (on my localhost I need to exec it myself)

The results

.

It can still be granted through the Admin Users pages - but - that is one at a time and could get old fast.
Adding members to Admin Groups can be done “bulk” so is a bit easier.

Who you add to the Group would be up to you

1 Like

Don’t forget to take into account those who review the translations as well :wink:

Thanks man, I have implemented something like that and it works, but I need to check manually the work on Transifex meanwhile I’d like Discourse can check it itself