Closed ta2-1 closed 8 years ago
There was discussion with @iafan who should be set as the last owner of translation in this case: suggester or reviewer.
Let me provide reasoning here (it's definitely more convenient than side notes in the related Google doc).
I think we need to define what "credit" for the suggester is.
If by "credit" you mean the avatar image next to the translation, then this would be misleading. If translator "accepts a suggestion with alterations", it means that it is the translator who adds the final edits and reviews the string, and he's the "owner" now (he, not the original suggester, is held responsible for the final string quality, and everyone — original suggester, translator and project admins want to know what these edits were).
If by "credit" we mean proper score attribution and appearance in the "top contributors" list, then we can make the feature fully consistent and unambiguous (and also easier to implement).
This is what I propose:
This is more consistent:
This is how this new button might look like:
It's hint can be something like "Edit suggestion before accepting"
Some more thoughts:
When the "best suggestion" is dynamically determined based on current translation value, we need to take TM results into consideration as well. For example, if there's a better match in TM (e.g. a 100% match, which is copied automatically into the editor), I think we shouldn't credit any suggestions.
We might also consider supporting "cheating" situations when a translator rejects someone's suggestion first, and then provides their own translation which is identical or very similar to the rejected one. This could be done by keeping rejected suggestions in the system and comparing against them.
I'd agree that it is important to add new button explicitly. But it can be confusing that "click on suggestion area" == "click on the orange button" (not green nor red).
Initially I thought about two actions instead of one. But having to say that a new submission type as "accept with alterations" looks more clear regarding motivation. Also it will allow us to avoid situations when "not very good" translation can be used as the final one. In such situations we can also consider "accept as fuzzy" submission type.
But it can be confusing that "click on suggestion area" == "click on the orange button" (not green nor red).
Both will result in the same visual feedback (glow around the suggestion unit, since it will be a 100% match) to suggest these are the same. Obviously, people will likely use this explicit button to copy the suggestion and work with it, but such a visual clue will help them discover that clicking anywhere on the text has the same effect.
But having to say that a new submission type as "accept with alterations" looks more clear regarding motivation.
My point is that in this case the effect (state of the unit) will be different from the case when someone accepts the suggestion and then they (or someone else) alter the translation in two different steps, which is not good (not to mention that this will make score calculation and other parts of the UI more complex).
Also, if we have two independent records, the volunteer will see a "suggestion accepted" event, which shouldn't be worse than "suggestion accepted with alterations" in terms of motivation ("my work is recognized!").
Also it will allow us to avoid situations when "not very good" translation can be used as the final one.
I meant that if we do two different actions (accept
and edit
) it is important to perform them in one transaction.
In such situations we can also consider "accept as fuzzy" submission type.
It looks like overthinking.
But it can be confusing that "click on suggestion area" == "click on the orange button" (not green nor red).
Both will result in the same visual feedback (glow around the suggestion unit, since it will be a 100% match) to suggest these are the same. Obviously, people will likely use this explicit button to copy the suggestion and work with it, but such a visual clue will help them discover that clicking anywhere on the text has the same effect.
I agree with @ta2-1 that it can result confusing, especially because this very same feedback (glow around match) exists in scenarios where translators are not editing others' suggestions.
What about adding a minor text below the textarea which will display something like Editing
What about adding a minor text below the textarea which will display something like Editing
's suggestion
Please note that the translator might not have to click on any suggestion, so what you suggest will not work consistently and confuse even more. Copying a suggestion into an editor is just a convenience function. Even if someone types in (or copy-pastes) their translation, we want to find the best suggestion (above the threshold) and credit suggester for it.
@iafan this model looks good. I think some sides are overcomplicating it for now (the auto select the best suggestion). I think the explicit button is good as some people have been confused by this and it isn't clear that clicking on the unit achieves the same thing.
The credit part concern is this:
That said the quick wins of:
Are fine with me as they address the numeric credit and make accept+alter much clearer and explicit.
I think some sides are overcomplicating it for now (the auto select the best suggestion)
This "auto select the best suggestion" thing is pretty easy to implement (we already have the similar code in place, I believe) and it in fact supersedes other attribution logic. In other words, it is enough to implement it alone to support multiple use cases ("copy the suggestion and submit it with no edits", "copy the suggestion and edit it before submission", or "type exact or similar translation and still credit the suggester").
The primary concern is that if you do a minor correction e.g. fix a or minor spelling mistake. Then the last person who worked on this is credited and that is you. This remove all obvious credit from original translator.
But in this case it's not the suggester who makes the final edit, and they might even disagree with that small edit. Translator may make a mistake by e.g. placing a comma in the wrong place, or picking a word that is worse than the original, or introduce a spelling mistake that wasn't there in the suggestion. I think that showing that the final translation comes from the original suggester can lead to all sorts of confusion. I'd prefer to be fully transparent on this and show this as two actions with proper score attribution, proper timeline and proper diffs that indicate the change done by a reviewer.
Keep in mind that in the case when the suggester fully translated a string and then translator just did a minor change, suggester will still — fairly — get more score points than the editor. So they will be recognized in "top contributor" reports and all sorts of leaderboards. The only thing they will not see is their avatar in the translation editor next to the unit. But as i said, this is actually good, because this will avoid confusion in case of post-edits the suggester has no control of.
I think I have found a solution to better indicate the authors of the unit (and also give a better indication that the unit has multiple edits, which is nice):
This is a pure rendering improvement that can piggyback on the timeline data (whether there are multiple authors and whether the last edit was minor or not (based on similarity threshold). This approach still implies that we correctly save "suggestion with alteration" as two timeline events as I described earlier.
This issue was addressed in https://github.com/translate/pootle/pull/4659. I'm closing it now.
Currently if you select a suggestion and make alterations then you, as the translator gets credit for the translation but suggester doesn't get anything (his suggestion is not accepted). Let's add
Accept with alterations
submission type if a translator uses any suggestion for his translation and similarity between final translation and the initial suggestion is more than threshold (for instance 50%).