Contribution credits for translation activity on localize.drupal.org

Created on 1 August 2023, over 1 year ago
Updated 8 September 2023, over 1 year ago

Problem/Motivation

There are a lot of Drupal.org users who contribute to the project by providing translations on localize.drupal.org, or as members or managers of translation teams.

We should recognize these contributions with contribution credit.

There are a few problems to solve:

  • How can we provide the attribution ui to credit organizations without making it an overwhelming amount of paperwork for every string?
  • What factors should affect the weight of credits?
    • Number of strings translated?
    • If the string is accepted/published?
    • Weight of the project the string is for?
    • Weight of the language?
    • Joke (xx- language prefix) vs. real human language?
  • How do we credit the effort for moderating and approving strings?
  • How do we avoid accidents or malicious attempts to game the system by mass importing .po files and approving the strings in bulk?

Proposed resolution

We should determine the basics first:

  1. Attribution UI
  2. Profile and org page listing view for attributed translations
  3. Base credit for strings

From there we should extend with the most essential additional weighting factors.

✨ Feature request
Status

Active

Version

3.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States hestenet Portland, OR πŸ‡ΊπŸ‡Έ

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @hestenet
  • πŸ‡ΊπŸ‡ΈUnited States xjm

    Another "basics" item I'd add is a view for profile listing, since that would start to surface contributions even before we have to propose and have the governance body approve algorithm factors. So we could add the crediting widget first, then the profile and marketplace views, and then the marketplace impact.

    So far, we have some consensus from @penyaskito, @catch, @FeyP, @GΓ‘bor Hojtsy, and myself that we should probably not weight languages by translation usage, since that gets political and also implicitly privileges certain cultural groups. I think that is separate from whether joke languages are credited or not, so I added that as a separate bullet in the IS.

    I initially proposed that string instance count should be a factor, but @penyaskito pointed out that taking the time to translate longer, unique admin or help text strings (and therefore the evaluator's user interface) could be a big factor for Drupal's own adoption.

    I do think that project install base should be a factor since a core translation is many times the value of a translation for a random contrib module. This could also be merely "the install base of the project that has this string the most times" to mitigate disproportionately crediting or spamming for short nouns.

  • πŸ‡ΊπŸ‡ΈUnited States xjm

    Adding the profile listing bit.

  • πŸ‡ΊπŸ‡ΈUnited States xjm

    And ordering them.

  • πŸ‡ͺπŸ‡ΈSpain alvar0hurtad0 CΓ‘ceres

    Hello,
    I actively contribute by moderating strings for the Spanish localisation. I think it is very important to give credits to moderation (accepted/rejected strings) as it is the big bottleneck.
    Currently some users send large batches of strings, sometimes even translated with automatic translators, so a big part of the responsibility is transferred to the moderator and in many occasions he/she has to propose an alternative translation according to the translation guidelines for each language.

  • πŸ‡ΊπŸ‡ΈUnited States dww

    There was a great Slack thread that this issue was created out of, which I was tagged into based my efforts to translate Drupal into Hawaiian β†’ (which @xjm then massively improved with their much more advanced understanding of the language -- thanks again!).

    Include me on the list of people who think weighting by language usage is a bad idea. That said, I'm still open to the possibility (originally proposed by @xjm) that we might want to add a bonus to indigenous and/or so-called "endangered" languages. I'm totally biased on this point, and it's just as messy and political as looking at language usage more generally. So it's probably not something d.o wants to have to deal with, but I love the idea itself.

    Agreed that usage of the project to which the string belongs is a good thing to factor into the algorithm.

    +1 to #5 and also crediting the effort spent approving strings. Added that to the summary.

    Also added the point raised by @penyaskito in Slack about the potential troubles from importing .po files and mass-approving strings. Yes, that's mostly a governance issue for each translation team to deal with, but it'd be great if this system and l.d.o more broadly had some better tools to notice and deal with the consequences of .po imports.

    Big +1 to having a view on d.o profile pages that automagically displays info about translations the user contributes to, moderates, etc. That seems worth splitting out already as a separate issue, since it would be valuable now, even before we have a crediting system/UI. Any objections?

    Moved this issue directly under 🌱 Improve contribution statistics on user and organization profiles Active which seems like a more appropriate parent than ✨ Contribution credits for project releases Active . Hope that's agreeable. Feel free to move it again as needed.

    Excited to see this moving forward! Happy to support this in whatever ways I can.

    Thanks,
    -Derek

  • πŸ‡ͺπŸ‡ΈSpain pcambra Asturies

    As the credit system is not public, it's really difficult to weigh in what should be fair for translations. The slack thread points out the issues with governance and the translation system is not as "visible" (in terms of people looking at it) as the issue queue, so gaming is a big factor. That and the mass import/mass approval processes, makes it really challenging.
    I would disagree that moderation should have a higher credit than translation submissions but some credit should be due.

    I'd like to point out that most of Drupal users/contributors do not participate in translation efforts, even if they have a much lower barrier than code, events, documentation contribution, so maybe giving a logarithmic? credit system makes sense, where your first translation counts for *whatever unit* 1 credit, then the next credit is at 100 translation, 500, etc (those are arbitrary numbers, not really a proposal).

  • πŸ‡©πŸ‡ͺGermany joachim namyslo Kulmbach πŸ‡©πŸ‡ͺ πŸ‡ͺπŸ‡Ί

    Because Feyp asked me to give feedback from the daily practice, I would like to do that.

    In the German translation of Drupal we currently do it this way that we

    1. submit suggestions for translations. - This does not give any credit yet.
    2. create an issue, with which we inform the translation community moderators that there is something to check - This gives a credit.
    3. a person whose translation is marked as accepted gets a credit in this issue
    4. the person who did the work of setting up Drupal, installing the module, loading the existing suggestions into the UI and defining them in the context of the UI based on the guidelines defined by the team also gets a credit

    Because of the bad UI, we have only one field where we can separate names by commas, currently the person who goes through a project and credits the people there, if one of their translations was approved gets a credit, also.

    For the Core, we do this at least once in each major version. 9.x, 10.x 11.x. This is a lot of work. Entering a maximum of 12 names in a field page by page and and seperateing them by commas, while doing that is no fun.

    Then there is the fact that you have to save the issue and whoever has unsubscribed the issue queque gets a mail every time he saves the issue. What somehow makes sense, but in the past has also triggered resentment, because we send for a page with 50 strings at least 4 mails, if we do so. My email inbox is already looking forward to us giving credits for the translations of the next Drupal major release. It's going to get very very cluttered.

    That's how it works in practice right now. However, I believe that we have to find a way to balance the individual tasks that arise. A review, for example, can be really exhausting at times. However, coming up with really good suggestions for Pbersezungen is becoming easier and easier thanks to systems like DeepL and so on. It's not unimportant, but it's still easier than deciding which of the many translations in a project are correct and which are not. At the end there is still the grammar, which has to be correct. And fixed technical terms like view display or formatter have to be used correctly in the context. Not every translator can do that. That's why this work is usually left to the translation community moderators or even the project managers. That's why I don't think it makes sense to evaluate the importance of individual strings based on which language or project they appear in. It is much more important to consider what actually does the most work and therefore takes the most time. Then you should also evaluate according to that.

    In the case of strings, for example, a help text is in my view much more worthy of being crridited than a word that consists of perhaps 2 to 5 letters. Both are currently a string. One is a quarter of a page long and the other is not. That is why it is not so easy to define measured values here.

    I will try it anyway:

    Length of the translated string
    Set of approved translation proposals submitted by a given person within a project and approved by a moderator.
    Difficulty of the task to be completed

    Create issue
    Perform review
    Crediting translated strings
    Correction of submitted translation proposals
    etc.

    These things can be weighted. Perhaps a minimum weighting for submitted translation proposals should also be introduced. However, the challenge I see here is that poor or ineligible translation proposals will then also be credited. This is a delicate issue

    So I hope that feedback helps you in making a decision about what we should do at this corner. Finally, I would like to say that I think it is very important that we do something here. Translating Drupal in any language takes a lot of time.

    If you don't get paid for it, you do it because you really love Drupal or because you earn a lot of money from your customers thanks to the project. For the people who don't make that much money but just have fun helping to make Drupal better understood, it's even more important that they get recognition. We need these people and we need more of them.

    Thank you Tim for creating this issue and thank you Patrick for bringing it to my attention.I am very happy that we are thinking about the community at this point.

  • πŸ‡ͺπŸ‡ΈSpain penyaskito Seville πŸ’ƒ, Spain πŸ‡ͺπŸ‡Έ, UTC+2 πŸ‡ͺπŸ‡Ί

    TIL that organization (shared) accounts are allowed to submit translations in l.d.o:

    https://www.drupal.org/terms#:~:text=Submit%20translations%20to%20locali... β†’

    We might want to review those terms, or take that into account here for credit.

  • πŸ‡«πŸ‡·France artusamak Bzh

    If you go to language weighting and don't know it yet, UNESCO has 6 levels of classification for languages:

    * Critically endangered
    * Severely endangered
    * Definitely endangered
    * Endangered/unsafe
    * Potentially vulnerable
    * Safe

    They are monitored, updated and documented here: https://en.wal.unesco.org/

  • πŸ‡«πŸ‡·France fmb PerpinyΓ , Catalonia, EU

    As Catalonia mourns the loss of Carme Junyent, linguist, specialized in endangered languages, it makes me glad to see that people here care about linguistic diversity. Long live Hawaiian!

    I suggest we hold a BoF on this matter during Drupalcon Lille. See you there!

Production build 0.71.5 2024