Translation labels
1. Problem
What is the core problem we are trying to solve? Why does this matter?
Organizations that require more advanced state management need a way to label their translations.
2. Appetite
How much time do we want to spend on this?
A full 6-week cycle.
3. Solution
How do we imagine solving this problem?
- In the Translations view, each translation (displayed next to its flag) can be assigned a label.
- If a label already exists, the user can remove it.
- Hovering over a label shows its description as a tooltip.
Label configuration
- Labels are configured in Project Settings—not inline (unlike tags).
- Each label has:
- A color (palette, color picker, or hex value—TBD).
- A description.
Filtering
Users can filter translations by label, similarly to the current States filter.
Batch operations
- User is able to add/remove label using batch job
Permissions
- Add separate scopes for label management and label assigning
4. Basic Drawings
What rough sketches or wireframes illustrate the concept?
None needed for the pitch. If required, @ZuzanaOdstrcilova can add them later.
5. Rabbit Holes
What are the potential complexities, unknowns, or risky areas?
None identified.
6. No-Goes
What explicitly falls outside the scope of this pitch?
- Linking labels to states.
- Implementing complex workflows.
7. Success Criteria
How will we measure success?
The feature is considered successful once @jdimeo confirms it works for him.
Great! I know that I would find more use for an icon (image or emoji) vs. a color, but up to you!
@jdimeo You can definitely add emoji to the text. @dkrizan please test that emojis, don't break layout when you implement it.
Scopes
Settings section
- [x] Labels section in Project settings
- [x] DB migrations
- [x] Implement creating labels
- [x] Color palette
- [x] Implement updating existing label
- [x] Implement removing label
- [x] Paginate labels list
- [x] I think I know how to do it
- [x] I have validated my approach
Translations view
- [x] Allow assigning label to translation
- [x] Remove label button
- [x] Allow assigning label only if at least one is created
- [x] Extend filter option
- [x] Combine with "For following languages"
- [x] Show description in tool-tip
- [x] Adapt label design to dark theme
- [x] I think I know how to do it
- [x] I have validated my approach
Activity log
- [x] Capture assign operation
- [x] Capture create/update/delete operation
- [x] I think I know how to do it
- [x] I have validated my approach
Batch operations
- [x] Add label/-s
- [x] Remove label/-s
- [x] I think I know how to do it
- [x] I have validated my approach
Permissions
- [x] Add separate managing and assigning permissions
- [x] I think I know how to do it
- [x] I have validated my approach
Feature
- [x] Move logic under ee
- [x] Create new feature
Before release checklist
- [x] Preview is created & user stories are tested on the preview
- [x] Blog post about this new feature
- [x] Announcement in Tolgee App
- [x] New keys are translated
After release checklist
- [x] Roadmap is updated
- [ ] We posted about this in social media
- [ ] Slack Community
- [ ] Github Discussions
- [x] In App pricing is updated
- [x] Web pricing is updated
- [ ] FAQ is updated
- [x] Website is updated
Background: https://github.com/tolgee/tolgee-platform/issues/1429