Skip to content

Community translation - v3.0 (Voting) #3769

Description

@ZuzanaOdstrcilova

1. Problem

In v1.0 the community can propose suggestions and a permitted user accepts or declines them. But when a string collects many suggestions, there is no signal which one the community prefers, and contributors cannot express agreement or disagreement. The reviewer has to judge every suggestion alone.

We want the community to surface the best suggestion through voting.


2. Appetite

2 weeks, 1 developer. Builds on v1.0.


3. Solution

Voting

  • Everyone can upvote, downvote, and cancel their vote.
  • A user cannot vote for their own suggestion.
  • The highest-scoring suggestion floats to the top.
  • If two suggestions have the same score, the newer one takes priority.
  • Voting does not change state; it is a confidence signal.

Duplicate suggestion

  • If a contributor tries to suggest a translation that already exists, a dialog appears: "This already exists, do you want to upvote the existing translation?"

4. Basic Drawings

Translation - suggestions and voting
Image
Image
Image


5. Rabbit Holes

  • Vote abuse. Keep it simple: One vote per user per suggestion. Don't build anti-fraud now.

6. No-Goes

  • Downvote with a reason dialog (ask "why?" on downvote and save it as a comment) - future improvement.
  • "Community-endorsed" badge (auto-badge when a suggestion passes a vote threshold) - future improvement.
  • Anti-fraud / sockpuppet detection.

7. Success Criteria

Functional

  • Contributors can upvote, downvote, and cancel; they cannot vote for their own suggestion.
  • Suggestions are ranked by net score, with the newer one winning ties.

Value

  • On strings with multiple suggestions, the top-voted one is the one reviewers accept most often.

Metadata

Metadata

Assignees

Labels

pitchThe pitch according to the Shape-up approach

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions