racket/drracket

DrRacket uses `LC_CTYPE` to set UI language

Ouverte

#99 ouverte le 24 mars 2017

 (8 commentaires) (1 réaction) (0 personne assignée)Racket (102 forks)github user discovery
good first issue

Métriques du dépôt

Stars
 (513 étoiles)
Métriques de merge PR
 (Merge moyen 14j) (1 PR mergée en 30 j)

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.

Guide contributeur