DrRacket uses `LC_CTYPE` to set UI language
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 516
- Forks
- 103
- PR merge metrics
- No merged PRs in 30d
Description
I’ve noticed that DrRacket presents me with German translations even though I have LANG=en_US.utf8 set. The issue seems to be that DrRacket is using the value of LC_CTYPE to determine the interface language.
This is reproducible using the following locale settings (NB this is locale(1) output, so quotation indicates inherited defaults):
LANG=en_US.utf8
LC_CTYPE=de_DE.utf8
LC_NUMERIC=de_DE.utf8
LC_TIME=de_DE.utf8
LC_COLLATE=de_DE.utf8
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER=de_DE.utf8
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT=de_DE.utf8
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
When unsetting LC_CTYPE or setting it to en_US.utf8, DrRacket starts up in English.
To determine interface language, (after checking LC_ALL) LC_MESSAGES should be looked up in the environment instead of LC_CTYPE, falling back to LANG when unset.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
No file or test is named in the issue. Reproduce startup with the listed locale settings, then locate the entry point that selects DrRacket's interface language; done means LC_ALL and LC_MESSAGES are honored, with LANG as fallback, while LC_CTYPE alone does not change the UI language.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, internationalization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100