Skip to content

Commit a7361fd

Browse files
committed
docs: propose kind/translation label for localization work
Comprehensive proposal for adding dedicated translation label to improve categorization of i18n/l10n contributions in monthly reports. Key points: - 2 translation PRs currently in Other section (Jan 2026) - Proposed label: kind/translation (purple 8B5CF6) - New report section: 🌍 Localization - Implementation time: ~30 minutes - Low risk, backward compatible Awaiting maintainer approval before implementation.
1 parent 44af8b9 commit a7361fd

File tree

1 file changed

+251
-0
lines changed

1 file changed

+251
-0
lines changed
Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
# Translation Label Proposal
2+
3+
## Executive Summary
4+
5+
Proposal to add a `kind/translation` label to better categorize localization and internationalization work in monthly reports and issue tracking.
6+
7+
## Problem Statement
8+
9+
Currently, translation/localization PRs are categorized as `kind/enhancement` and end up in the "Other" section of monthly reports because they don't fit existing categories. This makes it harder to:
10+
11+
1. Track localization efforts across the project
12+
2. Recognize community contributions in translation work
13+
3. Identify i18n gaps in monthly reports
14+
15+
## Evidence from January 2026 Report
16+
17+
**Current State:**
18+
19+
- 2 translation PRs found in "Other" section
20+
- Both labeled as `kind/enhancement` (not specific enough)
21+
- No dedicated category for i18n/l10n work
22+
23+
**Examples:**
24+
25+
1. **#175** - Add Polish translation to curated.yaml
26+
- Author: @Micro856
27+
- Current label: `kind/enhancement`
28+
- Location: Other section
29+
30+
2. **#143** - Adds french translation to the desktop files
31+
- Author: @theMimolet
32+
- Current labels: `kind/enhancement`, `size/XS`
33+
- Location: Other section
34+
35+
## Proposed Solution
36+
37+
### Label Specification
38+
39+
**Name:** `kind/translation`
40+
41+
**Color:** `8B5CF6` (purple - distinct from existing colors, represents internationalization)
42+
43+
**Description:** "Translation and localization work (i18n/l10n)"
44+
45+
**Category:** New section in reports: "🌍 Localization"
46+
47+
### Color Rationale
48+
49+
Purple (`8B5CF6`) was chosen because:
50+
51+
- Visually distinct from existing `kind/` labels
52+
- Not used elsewhere in current label scheme
53+
- Purple commonly associated with internationalization in UI design
54+
- Good contrast in both light and dark modes
55+
- Similar saturation to other kind/ labels
56+
57+
**Color Comparison:**
58+
59+
```
60+
kind/bug: E8590C (orange-red)
61+
kind/enhancement: 17A2B8 (teal)
62+
kind/documentation: 0066FF (blue)
63+
kind/tech-debt: D4A259 (tan)
64+
kind/automation: 5B8BC1 (light blue)
65+
kind/translation: 8B5CF6 (purple) ← NEW
66+
```
67+
68+
## Implementation Plan
69+
70+
### Phase 1: Label Creation (5 minutes)
71+
72+
Create label in projectbluefin/common repository:
73+
74+
```bash
75+
gh api repos/projectbluefin/common/labels \
76+
-f name="kind/translation" \
77+
-f color="8B5CF6" \
78+
-f description="Translation and localization work (i18n/l10n)"
79+
```
80+
81+
### Phase 2: Update Label Mapping Configuration (5 minutes)
82+
83+
Edit `scripts/lib/label-mapping.mjs`:
84+
85+
```javascript
86+
export const LABEL_COLORS = {
87+
// ... existing colors ...
88+
"kind/translation": "8B5CF6",
89+
};
90+
91+
export const LABEL_CATEGORIES = {
92+
// ... existing categories ...
93+
"🌍 Localization": ["kind/translation"],
94+
};
95+
```
96+
97+
### Phase 3: Retroactive Labeling (10 minutes)
98+
99+
Apply label to existing January 2026 translation PRs:
100+
101+
```bash
102+
gh pr edit 175 --repo projectbluefin/common --add-label "kind/translation"
103+
gh pr edit 143 --repo projectbluefin/common --add-label "kind/translation"
104+
```
105+
106+
**Note:** Keep `kind/enhancement` label as well (PRs can have multiple kind/ labels).
107+
108+
### Phase 4: Regenerate Reports (5 minutes)
109+
110+
```bash
111+
npm run generate-report -- --month=2026-01
112+
```
113+
114+
Verify new "🌍 Localization" section appears with 2 PRs.
115+
116+
### Phase 5: Documentation (5 minutes)
117+
118+
Update relevant documentation:
119+
120+
- `AGENTS.md` - Add translation label to Monthly Reports section
121+
- `.planning/unlabelled-pr-analysis-2026-01.md` - Mark as implemented
122+
123+
## Expected Impact
124+
125+
### Monthly Reports
126+
127+
- **Before:** 2 translation PRs in "Other" section
128+
- **After:** 2 translation PRs in new "🌍 Localization" section
129+
- **Reduction:** 2.4% reduction in "Other" category (2 of 83 items)
130+
131+
### Long-term Benefits
132+
133+
- Better visibility for i18n/l10n contributions
134+
- Easier tracking of localization progress
135+
- Encourages more translation contributions
136+
- Clearer categorization in project board
137+
138+
## Scope and Applicability
139+
140+
### What Gets This Label
141+
142+
- ✅ Adding/updating .po/.pot translation files
143+
- ✅ Desktop file translations (Name[locale]=)
144+
- ✅ Curated app translations in YAML
145+
- ✅ Documentation translations
146+
- ✅ UI string translations
147+
148+
### What Doesn't Get This Label
149+
150+
- ❌ Adding English-only documentation (use `kind/documentation`)
151+
- ❌ Internationalization infrastructure (use `kind/enhancement` + `area/buildstream`)
152+
- ❌ Font additions for non-Latin scripts (use `area/gnome` or `area/aurora`)
153+
154+
## Alternative Options Considered
155+
156+
### Option 1: Use `kind/enhancement` (Current State)
157+
158+
- **Pros:** No changes needed
159+
- **Cons:** Translation work gets lost in noise, no visibility
160+
161+
### Option 2: Use `kind/documentation`
162+
163+
- **Pros:** Reuses existing label
164+
- **Cons:** Translation is distinct from documentation writing
165+
166+
### Option 3: Create `area/i18n` label
167+
168+
- **Pros:** Groups infrastructure + translations
169+
- **Cons:** Mixes two different concerns (infrastructure vs. content)
170+
171+
### Option 4: New label `kind/translation` (RECOMMENDED)
172+
173+
- **Pros:** Clear categorization, dedicated section in reports, encourages contributions
174+
- **Cons:** Adds one more label to maintain
175+
176+
## Risk Assessment
177+
178+
**Low Risk:**
179+
180+
- Single label addition
181+
- Backward compatible (doesn't break existing workflows)
182+
- Easy to revert if not useful
183+
- No infrastructure dependencies
184+
185+
**Testing:**
186+
187+
- Create label in test environment
188+
- Apply to test PRs
189+
- Regenerate report
190+
- Verify rendering
191+
192+
## Timeline
193+
194+
**Total Time:** ~30 minutes
195+
196+
1. **Label Creation:** 5 minutes
197+
2. **Config Update:** 5 minutes
198+
3. **Retroactive Labeling:** 10 minutes
199+
4. **Report Regeneration:** 5 minutes
200+
5. **Documentation:** 5 minutes
201+
202+
## Success Metrics
203+
204+
### Immediate (Week 1)
205+
206+
- ✅ Label created in GitHub
207+
- ✅ Config updated in docs repo
208+
- ✅ January 2026 report shows "🌍 Localization" section
209+
- ✅ 2 PRs properly categorized
210+
211+
### Short-term (Month 1)
212+
213+
- All new translation PRs receive `kind/translation` label
214+
- Contributors aware of label (via CONTRIBUTING.md or issue templates)
215+
216+
### Long-term (6 Months)
217+
218+
- Track translation coverage across supported languages
219+
- Measure increase in translation contributions
220+
- Evaluate if label should expand to cover i18n infrastructure
221+
222+
## Next Steps
223+
224+
1. **Decision:** Get approval from maintainers
225+
2. **Create:** Add label to projectbluefin/common
226+
3. **Configure:** Update label mapping
227+
4. **Apply:** Label existing PRs
228+
5. **Regenerate:** Update January 2026 report
229+
6. **Document:** Update AGENTS.md
230+
7. **Commit:** Push all changes
231+
8. **Monitor:** Track usage over next month
232+
233+
## Questions for Maintainers
234+
235+
1. **Approve color choice?** Purple (`8B5CF6`) or prefer different color?
236+
2. **Approve label name?** `kind/translation` or prefer `kind/i18n`, `kind/localization`, etc.?
237+
3. **Should we keep `kind/enhancement` on translation PRs?** (Dual labeling vs. single label)
238+
4. **Any existing translation guidelines** that should be referenced in label description?
239+
240+
## Related Documents
241+
242+
- `.planning/unlabelled-pr-analysis-2026-01.md` - Original analysis identifying need
243+
- `scripts/lib/label-mapping.mjs` - Configuration file to update
244+
- `AGENTS.md` - Documentation file to update
245+
- `reports/2026-01-31-report.mdx` - Report that will be updated
246+
247+
---
248+
249+
**Author:** OpenCode (Claude Sonnet 4.5 via GitHub Copilot)
250+
**Date:** January 28, 2026
251+
**Status:** DRAFT - Awaiting maintainer approval

0 commit comments

Comments
 (0)