racket/drracket

DrRacket uses `LC_CTYPE` to set UI language

Aberta

#99 aberto em 24 de mar. de 2017

 (8 comentários) (1 reação) (0 responsável)Racket (102 forks)github user discovery
good first issue

Métricas do repositório

Stars
 (513 estrelas)
Métricas de merge de PR
 (Mesclagem média 14d) (1 fundiu PR em 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.

Guia do colaborador