racket/drracket

DrRacket uses `LC_CTYPE` to set UI language

Offen

#99 geöffnet am 24.03.2017

 (8 Kommentare) (1 Reaktion) (0 zugewiesene Personen)Racket (102 Forks)github user discovery
good first issue

Repository-Metriken

Stars
 (513 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 14T) (1 gemergte PR in 30 T)

Beschreibung

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