Name languages in the interface language inside messages
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript
- Domain
- internationalization
Research direction
Start with languageLabel.js to understand when messages use interface language or a language’s native name, then inspect the listed call sites in LanguagesSection.jsx, useTranslationVersions.js, ExportCreator.jsx, and mediaUsageDisplay.js. Check existing tests around those messages and add assertions for sentence style and the decision on labelled lists. Done means sentence style messages follow languageLabel and tests cover the chosen list behavior.
Written by the indexing model from the issue text.
Description
Some messages mix languages, like "Ελληνικά added." or "Ελληνικά version created."; inside an English sentence the language should read "Greek". Revisit later.
languageLabel.js documents the rule: inside an English sentence a language is named in the interface language ("Greek"), while pickers, tabs and the public switcher use its own name ("Ελληνικά"). Server errors follow it (languageNameForMessage in contentLanguage.js) and so does the removed-language banner, but several editor messages put the native name in an English sentence: "Ελληνικά added." / "… removed." (nameOf in app/src/components/projects/LanguagesSection.jsx ~42), "Ελληνικά version created." (useTranslationVersions.js ~81), the export's "Français has no homepage…" (ExportCreator.jsx, skipped languages), and the Media "Used in" tags "About (Ελληνικά)" / "Header (Global, Ελληνικά)" (mediaUsageDisplay.js ~74, ~110 — a list, so possibly fine). Owner, 2026-10-19: "we probably shouldn't mix languages like 'Ελληνικά added.'" — revisit later.
Done when: Every sentence-style message uses languageLabel, the labelled lists are decided either way, and tests assert the names.
Start: languageLabel.js, LanguagesSection.jsx, useTranslationVersions.js.
- Dominant language
- JavaScript
- Stars
- 162
- Forks
- 6
- Avg merge
- 12h 55m
- Merged PRs (30d)
- 2
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tsiger/widgetizer
-
question
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
tsiger/widgetizer#194 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
tsiger/widgetizer#181 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
tsiger/widgetizer#175 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
tsiger/widgetizer#174 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
tsiger/widgetizer#173 ·
All issues in tsiger/widgetizer
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
AOSSIE-Org/BabyNest#284 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
seek4science/seek#2762 ·
Maintainers usually reply within 5 days
-
feedback simulation workshop
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
githubnext/gh-aw-workshop#5009 ·
Maintainers usually reply within 1 day
-
Clinic sharing: fast sync refusal message suggests Delete Data, which only developer builds haveOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
avniproject/avni-client#2228 ·
-
Add: K+ Sport 2 LogoOpencheck:passed logos:add
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 6 days